Hi Daniel,

yes I want to register my SIP clients twice to have full media path through Asterisk.

Now I register eg. clients 31 & 32 on Kamailio and when I try to call 31->32 then my call reaches Asterisk but it doesn't find the callee because it isn't registered in Asterisk.

Am I right that Kamailio cuts a part of register message header (Authorisation - Digest name) which it receives from SIP-client and forward just such shortened message to Asterisk or there is an other problem?

Is there any better approach for above requirement (full media path through Asterisk for all calls and for all users registered by Kamailio)?

Thank you
Regards
Marko





----- Forwarded Message -----
From: Daniel-Constantin Mierla <miconda@gmail.com>
To: Marko Tirs <marko.tirs@yahoo.com>; Kamailio (SER) - Users Mailing List <sr-users@lists.sip-router.org>
Sent: Thursday, April 6, 2017 11:25 AM
Subject: Re: [SR-Users] Kamailio 5.0 doesn't forward Authorization (Digest username) to Asterisk

Hello,
I am not sure I got the proper picture of what do you want to achieve. Do you want to authenticate the registration twice, once by kamailio and second by asterisk?
Cheers,
Daniel

On 03.04.17 01:05, Marko Tirs wrote:
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 you
Marko


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@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();
}



_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

-- 
Daniel-Constantin Mierla
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training - May 22-24 (USA) - www.asipto.com
Kamailio World Conference - May 8-10, 2017 - www.kamailioworld.com