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.
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@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
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@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@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@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
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/...
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@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@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@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@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Sorry,
Wrong link. The correct one is: http://git.sip-router.org/cgi-bin/gitweb.cgi?p=sip-router;a=blob;f=examples/...
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/...
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@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@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@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@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@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Peter Dunkley writes:
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/...
the link to websocket example is this:
http://git.sip-router.org/cgi-bin/gitweb.cgi?p=sip-router;a=blob;f=examples/...
my config is based on that but also handles gruu, which is supported by tryit client.
-- juha