[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:05:36 CET 2013
Sorry,
Wrong link. The correct one is:
http://git.sip-router.org/cgi-bin/gitweb.cgi?p=sip-router;a=blob;f=examples/websocket.cfg;h=4176af0a86985dc88d768b31f4ebe4021abb093f;hb=HEAD
Peter
> 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
>
>
> _______________________________________________
> 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