[SR-Users] SIP-Trunk Kamailio and Asterisk

Володимир Іванець volodyaivanets at gmail.com
Tue Jun 20 17:00:00 CEST 2017


Hello everyone,

I'm doing some custom Kamailio configuration to achieve few things but seem
to be stuck with SIP trunks. I'm currently using Kamailio 4.4.5 and here is
what I have at the moment:

*1.* Asterisk 11.25.1 servers behing Kamailio using RealTime for SIP peers.

*2.* Route that checks if packet was sent from one of configured SIP
trunks. This part works correctly:

*route[FROMPSTN] {*
*        xlog("== FROMPSTN ==\n");*
*        $var(socket) = $si + ":" + $sp;*
*        xlog("**** $var(socket)\n");*
*        xlog("**** $(sht(trunks_kamailio=>$var(socket)))\n");*
*        if ($(sht(trunks_kamailio=>$var(socket))) != $null) {*
*                xlog("**** From $(sht(trunks_kamailio=>$var(socket)))
PSTN\n");*
*                return 1;*
*                }*
*        xlog("**** Not from PSTN\n");*
*        return -1;*
*}*


*3.* Here is a fragment that sends INVITE packet to *TOASTERISK* route if
it was received from one of trunks. I have 4444444444 at XXX.XXX.XXX.XXX
hardcoded for now, and in my configuration 4444444444 and XXX.XXX.XXX.XXX
represent my real caller id number and carrier's IP address:

*if(route(FROMPSTN)) {*
*        uac_replace_from("sip:4444444444 at XXX.XXX.XXX.XXX");*
*        route(TOASTERISK);*
*}*


*4.* TOASTERISK basically has folloving fragment that load balances traffic
between Asterisk nodes:

*if(!ds_select_dst("0", "4")) {*
*        xlog("**** Call was not sent to none of Asterisk hosts\n");*
*        if(!is_method("REGISTER")) {*
*                xlog("**** Method is not REGISTER\n");*
*                send_reply("404", "No destination");*
*        }*
*        xlog("**** Dispatcher fail\n");*
*        exit;*
*}*


So when I'm making a call to my test number, I can see following incomming
packet in Asterisk from Kamailio. From header has correct caller id number
and carrier's IP address (192.168.88.5 is Kamailio's internal IP address):
[image: Вбудоване зображення 1]

And when Asterisk tries to find a maching peer for this incoming call, it
is using Kamailio's instead of Carrier's IP address. So it is actually
finds one of peers (101-XXXXXXX) that is being authenticated on Kamailio as
many others:
[image: Вбудоване зображення 2]

I'm not sure if Asterisk is just using packet's source IP to lookup for
corresponding peer or something else from it's content. I will really
appreciate any help on this.

Thanks a lot!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20170620/23fec8a0/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 82537 bytes
Desc: not available
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20170620/23fec8a0/attachment.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 55728 bytes
Desc: not available
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20170620/23fec8a0/attachment-0001.png>


More information about the sr-users mailing list