[Kamailio-Users] dispatcher has problems

Carsten Bock lists at bock.info
Fri Apr 9 17:01:49 CEST 2010


Hi,

your problem is, that you are using round robin for registration (method 4).
The system creates a nonce value and validates this. Normally, only the
system which generated the nonce can validate it (this should apply for the
Asterisk, in the Kamailio Authentication you may configure this,
http://kamailio.org/docs/modules/1.5.x/auth.html#id2510477). So we have to
make sure, that both the original INVITE/REGISTER and the following
INVITE/REGISTER reach the same server.

In your case, you should use a different algorithm (Please see
http://kamailio.org/docs/modules/1.5.x/dispatcher.html#id2468101).
Probably algorhitm "0" would be best for you (Hash over Call-ID). For your
requests you should replace " ds_select_dst("1","4");" with
" ds_select_dst("1","0");" and your authentication should work.

Carsten

2010/4/9 Vic Jolin <victor.jolin at gmail.com>

> I just noticed that if I have 4 servers set like this
>
> # group  sip addresses of your * units
> 1 sip:XXX.XXX.XXX.XXX:5060
> 1 sip:XXX.XXX.XXX.XXX:5060
> 1 sip:XXX.XXX.XXX.XXX:5060
> 1 sip:XXX.XXX.XXX.XXX:5060
>
> the registration does not work and I get 401 unauthorized.
>
>
> My setup is like this
>
> Openser as proxy sends all SIP messages to load balanced asterisk servers
> So sip phones should be able to register to the asterisk server
>
> The routing part in kamailio.cfg looks like this
>
> if ( method=="REGISTER" || method=="NOTIFY" || method=="OPTIONS" ||
> method=="ACK" || method=="MESSAGE") {
>         fix_nated_contact();
>         fix_nated_register();
>         ds_select_dst("1","4");
>         forward();#uri:host, uri:port);
>         exit();
>
> }
>
> if (method=="BYE" || method=="CANCEL") {
>         unforce_rtp_proxy();
> } else if (method=="INVITE"){
>         log("VCTOR: Got an invite\n");
>         fix_nated_contact();
>         force_rtp_proxy();
>         ds_select_dst("1","4");
>         forward();#uri:host, uri:port);
>         t_on_failure("1");
> };
>
>         search_append('Contact:.*sip:[^>[:cntrl:]]*', ';nat=yes');
>
> t_on_reply("1");
>
>
> if
> (!is_method("INVITE|REGISTER|MESSAGE|BYE|NOTIFY|ACK|CANCEL|REFER|SUBSCRIBE|OPTIONS|INFO"))
> {
> xlog("L_INFO", "=== [$rm] Method Not Implement ===========\n");
>
> sl_send_reply("501", "Not implemented here");
> return;
> };
>
>
> any thoughts?
>
> _______________________________________________
> Kamailio (OpenSER) - Users mailing list
> Users at lists.kamailio.org
> http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
> http://lists.openser-project.org/cgi-bin/mailman/listinfo/users
>



-- 
Carsten Bock
Schomburgstr. 80
22767 Hamburg
Germany

Mobile +49 179 2021244
Home +49 40 34927217
Fax +49 40 34927218
mailto:carsten at bock.info
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/users/attachments/20100409/8a481a4f/attachment-0001.htm>


More information about the Users mailing list