Re: [OpenSIPS-Users] SIP session termination doesn't work properly
Hi Bogdan, I just captured the two sessions with ngrep (attached to this mail). Suprisingly, the dialog between the two laptops is all good with ngrep. But when I use the two mayah centauri hardware codecs, there is still the problem with the "404 - not here". Which brings me back to my assumption that it is not a opensips problem. Can you confirm that? Thanks & best regards, Simon Original-Nachricht > Datum: Mon, 18 May 2009 17:45:54 +0300 > Von: Bogdan-Andrei Iancu > An: simon.wi...@gmx.de > CC: users@lists.opensips.org > Betreff: Re: [OpenSIPS-Users] SIP session termination doesn\'t work properly > Hi Simon, > > could you post the SIP capture with full message (use ngrep on the > machine) - otherwise it it rather impossible to figure out what is going > on there. > > Regards, > Bogdan > > Simon Witte wrote: > > Hi all, > > > > > > I'm having trouble with the proper termination of SIP sessions going > > through my proxy server (opensips 1.5.1) > > There are 2 scenarios so far: > > > > 1) Session between two hardware audiocodec (Mayah Centauri) > > The BYE from one client isn't answered by a "200 - OK" but a "404 - > > Not here". First one client tries 12 times, then the other one. > > > > screenshots from wireshark: > > http://www.vivid-vision.de/Files/bye_404_no1.jpg > > > > http://www.vivid-vision.de/Files/bye_404_no2.jpg > > > > 2) Session between two laptops using a sip-software > > the BYE seems to hop from one client to the other until it times > out. > > > > screenshot from wireshark: > > http://www.vivid-vision.de/Files/bye_timeout.jpg > > > > > > Can somebody please tell if there's something wrong with the routing > > logic or has a hint to what the problem might be? > > I'm not so sure yet, if it's an opensips-problem, but I want to rule it > > out first. > > > > Thank you all in advance. > > > > > > Best regards, > > Simon > > > > > > -- Neu: GMX FreeDSL Komplettanschluss mit DSL 6.000 Flatrate + Telefonanschluss für nur 17,95 Euro/mtl.!* http://dslspecial.gmx.de/freedsl-surfflat/?ac=OM.AD.PD003K11308T4569a interface: eth0 (192.168.1.0/255.255.255.0) filter: (ip) and ( port 5060 ) U 192.168.1.70:5060 -> 192.168.1.60:5060 BYE sip:may...@192.168.1.60 SIP/2.0. Via: SIP/2.0/UDP 192.168.1.70:5060;branch=z9hG4bKWDX3mg5yEJs;rport. To: ;tag=xQluw0HeNt4. From: ;tag=GcgcQtcWLQi. Call-ID: xqluw0he1242662...@192.168.1.50. CSeq: 2 BYE. Max-Forwards: 70. Contact: ;expires=1800. Expires: 1800. User-Agent: MAYAH Communications V2.0.0.44. Content-Length: 0. . U 192.168.1.60:5060 -> 192.168.1.70:5060 SIP/2.0 404 Not here. Via: SIP/2.0/UDP 192.168.1.70:5060;branch=z9hG4bKWDX3mg5yEJs;rport=5060. To: ;tag=xQluw0HeNt4. From: ;tag=GcgcQtcWLQi. Call-ID: xqluw0he1242662...@192.168.1.50. CSeq: 2 BYE. Server: OpenSIPS (1.5.1-notls (i386/linux)). Content-Length: 0. . U 192.168.1.70:5060 -> 192.168.1.60:5060 ACK sip:may...@192.168.1.60 SIP/2.0. Via: // :342764;branch=z9hG4bKWDX3mg5yEJs;ttl=16726422;rport. To: ;tag=xQluw0HeNt4. From: ;tag=GcgcQtcWLQi. Call-ID: xqluw0he1242662...@192.168.1.50. CSeq: 2 BYE. Max-Forwards: 70. User-Agent: MAYAH Communications V2.0.0.44. Content-Length: 0. . U 192.168.1.70:5060 -> 192.168.1.60:5060 BYE sip:may...@192.168.1.60 SIP/2.0. Via: SIP/2.0/UDP 192.168.1.70:5060;branch=z9hG4bKTPAZB1jE96u;rport. To: ;tag=xQluw0HeNt4. From: ;tag=GcgcQtcWLQi. Call-ID: xqluw0he1242662...@192.168.1.50. CSeq: 2 BYE. Max-Forwards: 70. Contact: ;expires=1800. Expires: 1800. User-Agent: MAYAH Communications V2.0.0.44. Content-Length: 0. . U 192.168.1.60:5060 -> 192.168.1.70:5060 SIP/2.0 404 Not here. Via: SIP/2.0/UDP 192.168.1.70:5060;branch=z9hG4bKTPAZB1jE96u;rport=5060. To: ;tag=xQluw0HeNt4. From: ;tag=GcgcQtcWLQi. Call-ID: xqluw0he1242662...@192.168.1.50. CSeq: 2 BYE. Server: OpenSIPS (1.5.1-notls (i386/linux)). Content-Length: 0. . U 192.168.1.70:5060 -> 192.168.1.60:5060 ACK sip:may...@192.168.1.60 SIP/2.0. Via: // :342764;branch=z9hG4bKTPAZB1jE96u;ttl=16726422;rport. To: ;tag=xQluw0HeNt4. From: ;tag=GcgcQtcWLQi. Call-ID: xqluw0he1242662...@192.168.1.50. CSeq: 2 BYE. Max-Forwards: 70. User-Agent: MAYAH Communications V2.0.0.44. Content-Length: 0. . U 192.168.1.70:5060 -> 192.168.1.60:5060 BYE sip:may...@192.168.1.60 SIP/2.0. Via: SIP/2.0/UDP 192.168.1.70:5060;branch=z9hG4bKxxvgwh6HsCY;rport. To: ;tag=xQluw0HeNt4. From: ;tag=GcgcQtcWLQi. Call-ID: xqluw0he1242662...@192.168.1.50. CSeq: 2 BYE. Max-Forwards: 70. Contact: ;expires=1800. Expires: 1800. User-Agent: MAYAH Communications V2.0.0.44. Content-Length: 0. . U 192.168.1
[OpenSIPS-Users] SIP session termination doesn't work properly
# non loose-route, but stateful ACK; must be an ACK after # a 487 or e.g. 404 from upstream server t_relay(); exit; } else { # ACK without matching transaction -> # ignore and discard exit; } } sl_send_reply("404","Not here"); } exit; } #initial requests # CANCEL processing if (is_method("CANCEL")) { if (t_check_trans()) t_relay(); exit; } t_check_trans(); # authenticate if from local subscriber (uncomment to enable auth) # authenticate all initial non-REGISTER request that pretend to be # generated by local subscriber (domain from FROM URI is local) if (!(method=="REGISTER") && from_uri==myself) /*no multidomain version*/ ##if (!(method=="REGISTER") && is_from_local()) /*multidomain version*/ { if (!proxy_authorize("192.168.1.60", "subscriber")) { proxy_challenge("192.168.1.60", "0"); exit; } if (!check_from()) { sl_send_reply("403","Forbidden auth ID"); exit; } consume_credentials(); # caller authenticated } # preloaded route checking if (loose_route()) { xlog("L_ERR", "Attempt to route with preloaded Route's [$fu/$tu/$ru/$ci]"); if (!is_method("ACK")) sl_send_reply("403","Preload Route denied"); exit; } # record routing if (!is_method("REGISTER")) record_route(); # account only INVITEs if (is_method("INVITE")) { setflag(1); # do accounting } if (!uri==myself) ## replace with following line if multi-domain support is used ##if (!is_uri_host_local()) { append_hf("P-hint: outbound\r\n"); # if you have some interdomain connections via TLS ##if($rd=="tls_domain1.net") { ##t_relay("tls:domain1.net"); ##exit; ##} else if($rd=="tls_domain2.net") { ##t_relay("tls:domain2.net"); ##exit; ##} route(1); } # requests for my domain ## uncomment this if you want to enable presence server ## and comment the next 'if' block ## NOTE: uncomment also the definition of route[2] from below ##if( is_method("PUBLISH|SUBSCRIBE")) ##route(2); if (is_method("PUBLISH")) { sl_send_reply("503", "Service Unavailable"); exit; } if (is_method("REGISTER")) { # authenticate the REGISTER requests (uncomment to enable auth) if (!www_authorize("192.168.1.60", "subscriber")) { www_challenge("192.168.1.60", "0"); exit; } if (!check_to()) { sl_send_reply("403","Forbidden auth ID"); exit; } if (!save("location")) sl_reply_error(); exit; } if ($rU==NULL) { # request with no Username in RURI sl_send_reply("484","Address Incomplete"); exit; } # apply DB based aliases (uncomment to enable) ##alias_db_lookup("dbaliases"); if (!lookup("location")) { switch ($retcode) { case -1: case -3: t_newtran(); t_reply("404", "Not Found"); exit; case -2: sl_send_reply("405", "Method Not Allowed"); exit; } } # when routing via usrloc, log the missed calls also setflag(2); route(1); } route[1] { # for INVITEs enable some additional helper routes if (is_method("INVITE")) { t_on_branch("2"); t_on_reply("2"); t_on_failure("1"); } if (!t_relay()) { sl_reply_error(); }; exit; } # Presence route /* uncomment the whole following route for enabling presence NOTE: do not forget to enable the call of this route from the main route */ ##route[2] ##{ ##if (!t_newtran()) ##{ ##sl_reply_error(); ##exit; ##}; ## ##if(is_method("PUBLISH")) ##{ ##handle_publish(); ##t_release(); ##} ##else ##if( is_method("SUBSCRIBE")) ##{ ##handle_subscribe(); ##t_release(); ##} ## ##exit; ##} branch_route[2] { xlog("new branch at $ru\n"); } onreply_route[2] { xlog("incoming reply\n"); } failure_route[1] { if (t_was_cancelled()) { exit; } # uncomment the following lines if you want to block client # redirect based on 3xx replies. ##if (t_check_status("3[0-9][0-9]")) { ##t_reply("404","Not found"); ##exit; ##} # uncomment the following lines if you want to redirect the failed # calls to a different new destination ##if (t_check_status("486|408")) { ##sethostport("192.168.2.100:5060"); ### do not set the missed call flag again ##t_relay(); ##} } -- ___ Simon Witte phone: +49 211 - 545 888 02 mobil: +49 172 - 286 20 76 mail: simon.wi...@gmx.de Engelbertstr. 11 | 40233 Düsseldorf __ Hinweis von ESET NOD32 Antivirus, Signaturdatenbank-Version 4081 (20090517) __ E-Mail wurde geprüft mit ESET NOD32 Antivirus. http://www.eset.com ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
[OpenSIPS-Users] opensips 1.5.1 - how to update the MySQL-DB if IP-address of UA changes
Dear sirs and madams, I'm a student from germany and currently I'm trying to install a SIP-server. This is my first time working with SIP (in general) and opensips. Hopefully I won't embarass myself too much. So here's my problme: Is there a way to implement a routine to update the MySQL-DB faster if the IP-address of a client changes? To be more specific: In the first step of my project I'm using only 192.168.1.x as my domain. The Proxy/ Registar can be found at 192.168.1.60 and I'm using two PCs as UACs. I can register a client with the server, if he's at e.g. 192.168.1.200. If I change its IP-address (to e.g .180), the changes take quite some time to manifest. If I re-register manually (ekiga sopftphone), there are two entries in the location-table, which I certainly don't want. On the one hand, how do I prohibid a UAC from registering with two different IP-addresses using the same username/ password. And on the other hand how can I speed up the process to update the database when a IP-address change takes place?! I'd really appreciate your help and thank you in advance. Best regards, Simon Witte -- Neu: GMX FreeDSL Komplettanschluss mit DSL 6.000 Flatrate + Telefonanschluss für nur 17,95 Euro/mtl.!* http://dslspecial.gmx.de/freedsl-surfflat/?ac=OM.AD.PD003K11308T4569a ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users