[SR-Users] Realtime integration: Unregistered clients showing as registered?

Olli Heiskanen ohjelmistoarkkitehti at gmail.com
Sun May 18 12:06:32 CEST 2014


Hello,

It took me a while to get forward on this, but I had progress. I've changed
my sip.conf back and forth so I can't name the exact cause for my problem,
but it may have been the fact that in my asterisk sippeers table the fields
permit and deny may have been in the wrong order. And/or some configuration
values in sip.conf.

So now clients can register and asterisk 'sip show peer' shows the
registered clients.

However, there is still one thing that's probably not quite there yet. I'm
using the domain 'testers.com' for my clients, but I can't register them
using that domain. I was able to get clients to register and visible to
asterisk only by using domain '127.0.0.1', if I try commenting that out,
asterisk will say:
chan_sip.c:28073 handle_request_register: Registration from '<
sip:660 at 127.0.0.1>' failed for '1.1.1.1:5060' - Not a local domain
(where 1.1.1.1 is the public ip of the asterisk+kamailio box)

In my sip.conf I have domains defined like this:
autodomain=no
domain=127.0.0.1
domain=testers.com

I think this may be the cause for this behavior:
In my kamailio.cfg I have asterisk and kamailio bindips defined like this:
asterisk.bindip = "127.0.0.1" desc "Asterisk IP Address"
asterisk.bindport = "5070" desc "Asterisk Port"
kamailio.bindip = "127.0.0.1" desc "Kamailio IP Address"
kamailio.bindport = "5060" desc "Kamailio Port"

And this route forwards REGISTER messages to asterisk using the 127.0.0.1
as domain:

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


So question is, what would be the good-practice way to fix my setup into
using the client's domain? I thought about using the domain 'testers.com'
in place of kamailio.bindip but was unable to build the sip message and
send it to kamailio ip. uac_req_send() seems to send the message to what is
defined in the request line of the message so replacing it with 'testers.com'
would not work.

cheers,
Olli






2014-04-23 17:31 GMT+03:00 Pedro Niño <nino.pedro at gmail.com>:

> Ahhh also, don't forget to place the *rtcachefriends*=*yes* in your
> sip.conf (asterisk) to show the realtime peers
> El abr 23, 2014 8:29 AM, "Olli Heiskanen" <ohjelmistoarkkitehti at gmail.com>
> escribió:
>
> Hello,
>>
>> Gracias Pedro, kiitos Mikko.
>>
>> It's good to know I have configured Kamailio correctly. I added the type
>> into my table but so far no luck having asterisk see the clients
>> registered, at least on cli. I do see that asterisk adds registration data
>> into the table. I'll work on this for a bit and ask in the asterisk list on
>> more tricks on asterisk side. I'll post back here if I find out what the
>> problem was, in case someone is having similar issues.
>>
>> Thanks again,
>> Olli
>>
>>
>>
>> 2014-04-22 21:06 GMT+03:00 Pedro Niño <nino.pedro at gmail.com>:
>>
>>> Don't forget to include peer type (friend), and The callbacknumber In
>>> The table.
>>>
>>> It happened to me and asterisk/kamailio behavior was wayyy to weird
>>> until made sure both parameters were there.
>>>
>>> -----
>>>
>>> In this setup I have SIP peers in an asterisk table added like this:
>>>
>>> INSERT INTO sippeers (name, defaultuser, host, sippasswd, fromuser,
>>> fromdomain) VALUES ('660', '660', 'dynamic', 'password', '660', '
>>> testers.com');
>>>
>>> ------
>>>  El abr 19, 2014 1:17 PM, "Olli Heiskanen" <
>>> ohjelmistoarkkitehti at gmail.com> escribió:
>>>
>>>>
>>>> Hello,
>>>>
>>>> One of the tests I've been working with is Asterisk realtime
>>>> integration according to Daniel's guide here:
>>>> http://kb.asipto.com/asterisk:realtime:kamailio-4.0.x-asterisk-11.3.0-astdb
>>>>
>>>> Weird thing is the client looks registered but I'm not sure if it
>>>> really is registered. If I'm not mistaken I should see the peers when I
>>>> issue 'sip show peers' on asterisk cli. Instead I get this:
>>>>
>>>> *CLI> sip show peers
>>>> Name/username      Host      Dyn Forcerport Comedia      ACL Port
>>>>  Status      Description      Realtime
>>>> 0 sip peers [Monitored: 0 online, 0 offline Unmonitored: 0 online, 0
>>>> offline]
>>>>
>>>>
>>>> Also, calling between clients will fail; in Asterisk cli I get:
>>>> *CLI>
>>>>   == Using SIP RTP TOS bits 184
>>>>   == Using SIP RTP CoS mark 5
>>>>     -- Executing [661 at default:1] NoOp("SIP/660-00000000", "Testing:
>>>> Dialed 661") in new stack
>>>>     -- Executing [661 at default:2] Dial("SIP/660-00000000",
>>>> "SIP/661,3600,rt") in new stack
>>>>   == Using SIP RTP TOS bits 184
>>>>   == Using SIP RTP CoS mark 5
>>>>     -- Called SIP/661
>>>>   == Everyone is busy/congested at this time (1:0/0/1)
>>>>     -- Executing [661 at default:3] Hangup("SIP/660-00000000", "") in new
>>>> stack
>>>>   == Spawn extension (default, 661, 3) exited non-zero on
>>>> 'SIP/660-00000000'
>>>>
>>>>
>>>> In this setup I have SIP peers in an asterisk table added like this:
>>>> INSERT INTO sippeers (name, defaultuser, host, sippasswd, fromuser,
>>>> fromdomain) VALUES ('660', '660', 'dynamic', 'password', '660', '
>>>> testers.com');
>>>>
>>>> I have Kamailio and Asterisk on the same machine where Kamailio listens
>>>> port 5060 and Asterisk listens 5070. Things that differ from the guide are
>>>> Kamailio and Asterisk versions, which in my case are newer. Also, for
>>>> another testing case I have MULTIDOMAIN enabled in Kamailio, does this
>>>> interfere with the realtime integration? I'm using only one domain though.
>>>>
>>>> Please let me know if any configs or traces I can provide will help
>>>> figure out what's going on.
>>>>
>>>> cheers,
>>>> Olli
>>>>
>>>> _______________________________________________
>>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>>>> sr-users at lists.sip-router.org
>>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>>>
>>>>
>>> _______________________________________________
>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>>> sr-users at lists.sip-router.org
>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>>
>>>
>>
>> _______________________________________________
>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>> sr-users at lists.sip-router.org
>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>
>>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20140518/d0fc4b61/attachment.html>


More information about the sr-users mailing list