[SR-Users] Help with SIP over Websocket audio call: 405 Method Not Allowed

Peter Dunkley peter.dunkley at crocodile-rcs.com
Fri Mar 29 23:03:48 CET 2013


Hi,

There is a much simpler WebSocket Kamailio configuration file in the
examples directory in the source tree:
http://git.sip-router.org/cgi-bin/gitweb.cgi?p=sip-router;a=blob;f=examples/welcome.cfg;h=4bde0ae71be6f8da6a5bd3089d5af57569cc0178;hb=HEAD

It doesn't have accounting or any of the other advanced stuff from the
example you provided a link to.

If you can get calls to work with the simple configuration then you know
your problems aren't related to WebSockets, and instead are related to
something else within the configuration.

Regards,

Peter

> Peter,
>
> Thank you.  By changing the "method_filtering" modparam to 0 (it was
> actually 1), I am now able to make it past this, and the INVITE is
> processed over WS transport.  However, the audio call is still not
> completing.
>
> I am seeing a "180 Ringing" message for a while, followed by a "408
> Request
> Timeout".  Nothing is showing ringing on the remote browser with JsSIP
> tryit.
>
> The only clues I can see in /var/log/syslog hae to do with Accounting DB.
>  I am using MySQL.
>
> Note that I can do SIP User Agent client calling just fine between these
> two same users, and using the JsSIP Tryit app I can also do 'chat'
> messaging.  Just can't do audio call.  Here is /var/log/syslog:
>
> Mar 29 20:16:07 ace /usr/local/sbin/kamailio[5928]: NOTICE: acc
> [acc.c:275]: ACC: call missed:
> timestamp=1364588167;method=INVITE;from_tag=v71r89q4si;to_tag=mnspl1i563;call_id=8rcjevfvgid74ep1s8rc;code=408;reason=Request
> Timeout;src_user=brad;src_domain=xxx.net
> ;src_ip=172.10.200.149;dst_ouser=joe;dst_user=tmgcpvap;dst_domain=7dq4kria04ks.invalid
> Mar 29 20:16:07 ace /usr/local/sbin/kamailio[5928]: ERROR: db_mysql
> [km_dbase.c:122]: driver error on query: Unknown column 'src_user' in
> 'field list'
> Mar 29 20:16:07 ace /usr/local/sbin/kamailio[5928]: ERROR: <core>
> [db_query.c:235]: error while submitting query
> Mar 29 20:16:07 ace /usr/local/sbin/kamailio[5928]: ERROR: acc
> [acc.c:404]:
> failed to insert into database
>
>
>
>
> On Thu, Mar 28, 2013 at 9:26 PM, Peter Dunkley <
> peter.dunkley at crocodile-rcs.com> wrote:
>
>> Hello,
>>
>> In SIP you can put an Allow: header in REGISTER requests to say which
>> methods the registering end-point is capable of receiving.
>>
>> If you get a -2 returned from lookup() it means that the method for the
>> request (in this case INVITE) was not in the "Allow:" header in the
>> REGISTER.
>>
>> You can check this by looking at the REGISTER request in a trace and by
>> inspecting the location records stored in Kamailio (use the ul.dump
>> command in kamctl for this).
>>
>> You can disable method filtering in the Kamailio registrar module by
>> ensuring that the "method_filtering" modparam is set to 0 (or just not
>> set
>> at all as disabled is the default).  Doing this should prevent lookup()
>> ever returning -2.
>>
>> Regards,
>>
>> Peter
>>
>>
>> > Hi,
>> >
>> > New to Kamailio.  I have my Kamailio 4.0 server with websocket
>> support,
>> > and
>> > the users can register using the JsSIP Tryit sample WebRTC
>> application.
>> >  They can do 'chat' feature of JsSIP Tryit using kamailio 4.0 sip over
>> > websockets module.
>> >
>> > However, after registration, the users can't place an audio call.  I
>> see
>> > no
>> > ringing on the remote browser.  Can anyone help with clues or debug?
>> In
>> > Debug log I can see the websocket ws_frame.c decode the websocket
>> message
>> > into SIP, and I see normal SIP call flow for an INVITE.  However,
>> nothing
>> > indicating a call.
>> >
>> > I ran 'ngrep -p -w -W byline port 8888' (WS port) and see that I'm
>> getting
>> > an error response to browser UA of "405:  Method Not Allowed".  I've
>> > isolated it down to the this snippet in the kamailio.cfg for
>> > route[LOCATION]:
>> >
>> >         $avp(oexten) = $rU;
>> >         if (!lookup("location")) {
>> >                 $var(rc) = $rc;
>> >                 route(TOVOICEMAIL);
>> >                 t_newtran();
>> >                 switch ($var(rc)) {
>> >                         case -1:
>> >                         case -3:
>> >                                 send_reply("404", "Not Found");
>> >                                 exit;
>> >                         case -2:
>> >                                 send_reply("405", "TEST:  Method Not
>> > Allowed");
>> >                                 exit;
>> >                 }
>> >         }
>> >
>> >
>> > The switch case is returning -2, for some reason.
>> >
>> > Any help in debugging this appreciated.
>> > _______________________________________________
>> > 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
>> >
>>
>>
>> --
>> Peter Dunkley
>> Technical Director
>> Crocodile RCS Ltd
>>
>>
>> _______________________________________________
>> 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
>


-- 
Peter Dunkley
Technical Director
Crocodile RCS Ltd




More information about the sr-users mailing list