Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation dont subscribe how to use the default kamailio.cfg #9

Closed
khorsmann opened this issue May 10, 2019 · 11 comments
Closed

Documentation dont subscribe how to use the default kamailio.cfg #9

khorsmann opened this issue May 10, 2019 · 11 comments
Assignees
Labels
question Further information is requested

Comments

@khorsmann
Copy link
Contributor

khorsmann commented May 10, 2019

I see an internal and an external Interface and some intressting entries for dispatcher and address as flatfile db. But some words about them would be nice and how these are glued together.

I thought there are minimum 3 kind of services in there, the SbC-OS, the own internal boxed "core" siprouter and the external world with siptrunks.

Would be nice to describe some senarios i asume be "normal":

  1. Binding an SIPTRUNK to SBC-OS on IP Allow base:
    [EXTERNAL-SIPTRUNK] <----> [SBC-OS] <----> [YOUR-CORE-NETWORK]

  2. Binding an SIPTRUNK on SIP REGISTER base

  3. What i forgot and you maybe already use.

Also how to "take care of kamailio and rtpengine" - like "kamcmd dispatcher.list" - i found that "kamctl dispatcher dump" didnt work - there is no ctl and no db mode.

@adubovikov
Copy link
Collaborator

yes, I have asked my colegue help me with documentation. We will make a first shoot ASAP

@adubovikov adubovikov self-assigned this May 10, 2019
@adubovikov
Copy link
Collaborator

@Micro-Mike please help here :-)

@adubovikov
Copy link
Collaborator

i think we can disable kamctl and use only kamcmd. Anyway sbc-cli will anyway ask kamcmd for the current status of trunks

@adubovikov
Copy link
Collaborator

anyway, kamctl with DBTEXT engine requires python :-( it will be suicide to install python there.

@Micro-Mike
Copy link
Contributor

Micro-Mike commented May 10, 2019

For registration mode:

In database file address the external (untrusted) and internal (trusted) IPs of the SBC are configured:

Trusted:
1:1:10.1.1.4:32:0:NULL:Trusted, Core IP
301:301:registrar-[10.1.1.4].sbc:32:0:NULL:Internal-Register-Trusted

Untrusted:
101:101:192.168.1.4:32:0:NULL:Untrusted, Access IP
201:201:registrar-[192.168.1.4].sbc:32:0:NULL:External-Register-Untrusted

In dispatcher file the external (untrusted) IP of the SBC is configured aswell, using the same ID (201) as in address file. For the internal (trusted) connection the ID (301) is used to specify the destination SER, Asterisk, etc. in your core-network:

Untrusted:
201 sip:192.168.1.4:5060 0 0 access=10.1.1.4:5060;socket=udp:10.1.1.4:5060;weight=100

Trusted:
// Reg03
301 sip:172.168.5.152:5060 0 5 access=192.168.1.4:5060;socket=udp:10.1.1.4:5060;weight=50
// Reg02
301 sip:172.168.91.46:5060 0 10 access=192.168.1.4:5060;socket=udp:10.1.1.4:5060;weight=100

(Loadbalancing or weight can be played with in kamailio.cfg)

In rtpengine.conf you can specify the internal and external IP the RTPEngine is using for RTP relay. This will also be linked with the IDs used in address table (trusted 1 & untrusted 101):

interface=1/10.1.1.4;101/192.168.1.4

Documentation on trunking mode will follow.

@adubovikov adubovikov added the question Further information is requested label May 10, 2019
@khorsmann
Copy link
Contributor Author

anyway, kamctl with DBTEXT engine requires python :-( it will be suicide to install python there.

;-) python is an must-have for ansible.

@adubovikov
Copy link
Collaborator

therefore i have rejected puppet :-)

@Micro-Mike
Copy link
Contributor

For trunking mode:

In database file address the external (untrusted) and internal (trusted) IPs of the SBC are configured. Beside the external and internal IP the Mapping (ID 2001 and 1001) include the destination IPs of the Trunk. Trusted ID 2001 includes the destination SER, Asterisk, etc. in your core-network. Untrusted ID 1001 includes the external IP of your partner SBC, partner SER, etc.

Trusted:
1:1:10.1.1.4:32:0:NULL:Trusted, Core IP
2001:2001:trunk-[10.1.1.4]-[172.168.5.152].sbc:32:0:NULL:Internal-Trunk-Trusted

Untrusted:
101:101:192.168.1.4:32:0:NULL:Untrusted, Access IP
1001:1001:trunk-[192.168.1.4]-[193.22.119.66].sbc:32:0:NULL:External-Trunking-Untrusted

In dispatcher file the internal (trusted) connection ID (2001) is used to specify the destination SER, Asterisk, etc. in your core-network. The external (untrusted) connection ID (1001) is used to specify the destination IP of your partner SBC, partner SER, etc:

Untrusted:
1001 sip:193.22.119.66:5060 0 0 access=10.1.1.4:5060;socket=udp:10.1.1.4:5060;weight=100

Trusted:
2001 sip:172.168.5.152:5060 0 0 access=192.168.1.4:5060;socket=udp:192.168.1.4:5060;weight=100

In rtpengine.conf you can specify the internal and external IP the RTPEngine is using for RTP relay. This will also be linked with the IDs used in address table (trusted 1 & untrusted 101):

interface=1/10.1.1.4;101/192.168.1.4

@adubovikov
Copy link
Collaborator

just write it in the doc or make a wiki page here

@khorsmann
Copy link
Contributor Author

@Micro-Mike thank you for contributing your SBC-OS configuration knowledge.
Can you describe what the diffrents between REGISTRATION-mode and TRUNK-mode is?

IMHO the TRUNK mode is "IP TRUST" based.
But on the RESISTRATION one - is that upstream sending REGISTER? That confused me a bit.

@khorsmann
Copy link
Contributor Author

Works for me

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants