Hello all,
I am trying to use Kamailio 5.0 with Asterisk (separate IP addresses, both port 5060), but Asterisk doesn't register the SIP clients which comes through Kamailio.If I register the same user directly to the Asterisk then it works! 1st REGISTER is also without Authorization (Digest name) but in the 2nd REGISTER it exists and registration goes OK.
How to use Kamailio with Asterisk in the way the SIP client is registered on both of them?Thank youMarko
SIP-CLIENT DIRECTLY TO ASTERISK:-----------------------------------------------------------
1Â Â Â 2017-04-01 15:20:48.331806Â Â Â 192.168.0.12Â Â Â 192.168.0.2Â Â Â SIPÂ Â Â 544Â Â Â Request: REGISTER sip:192.168.0.2Â (1 binding) |
2Â Â Â 2017-04-01 15:20:48.332998Â Â Â 192.168.0.2Â Â Â 192.168.0.12Â Â Â SIPÂ Â Â 626Â Â Â Status: 401 Unauthorized |
3Â Â Â 2017-04-01 15:20:48.333814Â Â Â 192.168.0.12Â Â Â 192.168.0.2Â Â Â SIPÂ Â Â 700Â Â Â Request: REGISTER sip:192.168.0.2Â (1 binding) |
4Â Â Â 2017-04-01 15:20:48.335975Â Â Â 192.168.0.2Â Â Â 192.168.0.12Â Â Â SIPÂ Â Â 647Â Â Â Status: 200 OKÂ (1 binding) |
Frame 3: 700 bytes on wire (5600 bits), 700 bytes captured (5600 bits) on interface 0
Ethernet II, Src: AsrockIn_0a:0b:46 (70:85:c2:0a:0b:46), Dst: Raspberr_a1:fd:f7 (b8:27:eb:a1:fd:f7)
Internet Protocol Version 4, Src: 192.168.0.12, Dst: 192.168.0.2
User Datagram Protocol, Src Port: 64369, Dst Port: 5060
Session Initiation Protocol (REGISTER)
   Request-Line: REGISTER sip:192.168.0.2 SIP/2.0
   Message Header
       Via: SIP/2.0/UDP 192.168.0.12:64369;rport;branch=z9hG4bKPj9f8759c0537b4834bb411358d0b0a2ff
       Max-Forwards: 70
       From: "33" <sip:33@192.168.0.2>;tag=4c586be1fcf842359e7d429abcb0b213
       To: "33" <sip:33@192.168.0.2>
       Contact: <sip:74081936@192.168.0.12:64369>;+sip.instance="<urn:uuid:b408367e-d06b-4780-a9a0-291eb99ec83c>"
       Call-ID: d3c240808c934b77a9bbcb8bd4c1bd8c
       CSeq: 2 REGISTER
       Expires: 600
       Supported: gruu
       User-Agent: Blink 3.0.0 (Windows)
       Authorization: Digest username="33", realm="asterisk", nonce="76ca37d8", uri="sip:192.168.0.2", response="19fc1a634abc72c41dcb516470c34fc2", algorithm=MD5
           Authentication Scheme: Digest
           Username: "33"
           Realm: "asterisk"
           Nonce Value: "76ca37d8"
           Authentication URI: "sip:192.168.0.2"
           Digest Authentication Response: "19fc1a634abc72c41dcb516470c34fc2"
           Algorithm: MD5
       Content-Length: 0
SIP-CLIENT TO KAMAILIO WITH FORWARD TO ASTERISK:----------------------------------------------------------------------------------------------
11Â Â Â 2017-04-01 15:21:06.806347Â Â Â 192.168.0.13Â Â Â 192.168.0.2Â Â Â SIPÂ Â Â 459Â Â Â Request: REGISTER sip:192.168.0.2:5060Â (1 binding) |
12Â Â Â 2017-04-01 15:21:06.807514Â Â Â 192.168.0.2Â Â Â 192.168.0.13Â Â Â SIPÂ Â Â 608Â Â Â Status: 401 Unauthorized |
13Â Â Â 2017-04-01 15:21:06.814819Â Â Â 192.168.0.13Â Â Â 192.168.0.2Â Â Â SIPÂ Â Â 456Â Â Â Request: REGISTER sip:192.168.0.2:5060Â (remove 1 binding) |
14Â Â Â 2017-04-01 15:21:06.815712Â Â Â 192.168.0.2Â Â Â 192.168.0.13Â Â Â SIPÂ Â Â 608Â Â Â Status: 401 Unauthorized |
15Â Â Â 2017-04-01 15:21:06.821125Â Â Â 192.168.0.13Â Â Â 192.168.0.2Â Â Â SIPÂ Â Â 459Â Â Â Request: REGISTER sip:192.168.0.2:5060Â (1 binding) |
16Â Â Â 2017-04-01 15:21:06.821910Â Â Â 192.168.0.2Â Â Â 192.168.0.13Â Â Â SIPÂ Â Â 608Â Â Â Status: 401 Unauthorized |
Frame 15: 459 bytes on wire (3672 bits), 459 bytes captured (3672 bits) on interface 0
Ethernet II, Src: Micro-St_de:b2:3a (00:24:21:de:b2:3a), Dst: Raspberr_a1:fd:f7 (b8:27:eb:a1:fd:f7)
Internet Protocol Version 4, Src: 192.168.0.13, Dst: 192.168.0.2
User Datagram Protocol, Src Port: 5060, Dst Port: 5060
Session Initiation Protocol (REGISTER)
   Request-Line: REGISTER sip:192.168.0.2:5060 SIP/2.0
   Message Header
       Via: SIP/2.0/UDP 192.168.0.13;branch=z9hG4bKd101.0ad599b6000000000000000000000000.0
       To: <sip:32@192.168.0.2>
           SIP to address: sip:32@192.168.0.2
       From: <sip:32@192.168.0.2>;tag=533cb9e91f4b999cf76861cbb9ed54ed-85c4
           SIP from address: sip:32@192.168.0.2
           SIP from tag: 533cb9e91f4b999cf76861cbb9ed54ed-85c4
       CSeq: 10 REGISTER
       Call-ID: 41df282f10fdc7b6-2773(a)127.0.0.1
       Max-Forwards: 70
       Content-Length: 0
       User-Agent: kamailio (5.0.0 (x86_64/linux))
       Contact: <sip:32@192.168.0.13:5060>
           Contact URI: sip:32@192.168.0.13:5060
       Expires: 3600
kamailio.cfg:--------------------
#!define WITH_DEBUG
#!define WITH_MYSQL
#!define WITH_AUTH
#!define WITH_USRLOCDB
#!define WITH_ASTERISK
...
#!ifdef WITH_ASTERISK
asterisk.bindip = "192.168.0.2" desc "Asterisk IP Address"
asterisk.bindport = "5060" desc "Asterisk Port"
kamailio.bindip = "192.168.0.13" desc "Kamailio IP Address"
kamailio.bindport = "5060" desc "Kamailio Port"
#!endif
...
# Forward REGISTER to Asterisk
route[REGFWD] {
   if(!is_method("REGISTER"))
   {
      return;
   }
   $var(rip) = $sel(cfg_get.asterisk.bindip);
   $uac_req(method)="REGISTER";
   $uac_req(ruri)="sip:" + $var(rip) + ":" + $sel(cfg_get.asterisk.bindport);
   #$uac_req(ruri)="sip:" + $au + "@" + $var(rip) + ":" + $sel(cfg_get.asterisk.bindport);
   $uac_req(furi)="sip:" + $au + "@" + $var(rip);
   $uac_req(turi)="sip:" + $au + "@" + $var(rip);
   $uac_req(hdrs)="Contact: <sip:" + $au + "@"
            + $sel(cfg_get.kamailio.bindip)
            + ":" + $sel(cfg_get.kamailio.bindport) + ">\r\n";
   if($sel(contact.expires) != $null)
      $uac_req(hdrs)= $uac_req(hdrs) + "Expires: " + $sel(contact.expires) + "\r\n";
   else
      $uac_req(hdrs)= $uac_req(hdrs) + "Expires: " + $hdr(Expires) + "\r\n";
   uac_req_send();
}