[OpenSIPS-Users] Re-INVITE Problem
Hello I am having an issue with in-dialog INVITE's using a certain phone (The RTX 8630 cordless handset). The re-INVITE's are being sent to initiate a call transfer and for some reason the outgoing INVITE sent by Opensips has a malformed To header. I have inspected the To header on the incoming INVITE and cannot see anything wrong. Below are the debug logs and network captures of the received and sent INVITE: Debug Logs - http://pastebin.com/ZXcHYKNC Network Captures - http://pastebin.com/zwbXFu2J The end device (Asterisk) rejects this INVITE with a '400 Bad Request' error. Any input would be appreciated. Regards, Bruce ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Timer Based Failover Question
Thank you Dave, this has been working perfectly for me. Regards, Bruce From: Brett Nemeroff To: OpenSIPS users mailling list Sent: Tue, 23 November, 2010 23:31:09 Subject: Re: [OpenSIPS-Users] Timer Based Failover Question I do this.. Works really well.. -Brett On Tue, Nov 16, 2010 at 12:49 PM, Dave Singer wrote: I ran into the same problem with one of our carriers. The way I did it, with advice from bogdan, was to set the fr_inv_timer_avp to 6 sec (so long because of some calls to cell phone systems have long delays) when sending to the particular carrier then in a reply route special to that carrier, reset it to the normal 300 if the response was a 18x. Here are the pertinent parts: > > >modparam("tm", "fr_inv_timer", 300) # Timer on Final response: >Minimum is 2 sec, Default is 120 sec. >modparam("tm", "restart_fr_on_each_reply", 1) # Reset fr_int_timer on each >reply. Needed if you want to adjust the fr_inv_timer_avp with avp depending on >reply. >modparam("tm", "fr_inv_timer_avp", "$avp(i:2)") # Used if overide of >fr_inv_timer param is needed. >modparam("tm", "onreply_avp_mode", 1) # set to 1 if you want to >access >and or save avps from or for other parts of the transaction, like changing >the fr_inv_timer_avp. > > >route[carrier_c] { >if (is_method("INVITE")) { >t_on_failure("2"); >t_on_reply("2"); >$avp(i:2) = 6; >} >} >onreply_route[2] { >/* once we get ring progress let it ring for upto 300 sec */ >fix_nated_contact(); >if ( $rs =~ "18." ) { >$avp(i:2) = 300; >#xlog("got ringing, reset final timer to $avp(i:2) sec.\n"); >} >} > > >On Tue, Nov 16, 2010 at 2:49 AM, Denis Putyato wrote: > >And what about >>http://www.opensips.org/html/docs/modules/1.6.x/tm.html#id250384 >> >> >>From:users-boun...@lists.opensips.org >>[mailto:users-boun...@lists.opensips.org] >>On Behalf Of Bruce Borrett >>Sent: Tuesday, November 16, 2010 1:40 PM >>To: Users@lists.opensips.org >>Subject: [OpenSIPS-Users] Timer Based Failover Question >> >>Hi All >> >>I am having a problem where a SIP provider are sometimes sending us a 100, >>but >>then nothing afterwards. I would like to fail these calls over using a timer, >>but fr_timer wont work since we are receiving a 100, and fr_inv_timer >>requires a >>very lengthy duration which also will not work as I would like for the call >>to >>failover within 5 seconds maximum. >> >>Does anyone have any other suggestion for me please? >> >>Regards, >>Bruce Borrett >> >>___ >>Users mailing list >>Users@lists.opensips.org >>http://lists.opensips.org/cgi-bin/mailman/listinfo/users >> >> > >___ >Users mailing list >Users@lists.opensips.org >http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
[OpenSIPS-Users] Not receiving mails
Hi I havent been receiving mails from the list since Sunday the 14th. I sent a mail to the list yesterday morning but have still not received that mail, so it definitely seems that Im not receving any mails. Should I re-subscribe? Regards, Bruce ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
[OpenSIPS-Users] Timer Based Failover Question
Hi All I am having a problem where a SIP provider are sometimes sending us a 100, but then nothing afterwards. I would like to fail these calls over using a timer, but fr_timer wont work since we are receiving a 100, and fr_inv_timer requires a very lengthy duration which also will not work as I would like for the call to failover within 5 seconds maximum. Does anyone have any other suggestion for me please? Regards, Bruce Borrett ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] www_authorize return codes
Thank you Bogdan... It is working now. From: Bogdan-Andrei Iancu To: OpenSIPS users mailling list Sent: Wed, 7 July, 2010 9:35:46 Subject: Re: [OpenSIPS-Users] www_authorize return codes Hi Bruce, There is a small typo in the script (also the one I sent you). In the switch statement, use $var(reg) and not $retcode (retcode will change during the code execution). Regards, Bogdan Bruce Borrett wrote: > Sorry Bogdan, my snippet was a bit wrong there, I put that challenge > and exit in later on just to get it to work temporarily, everything > after that was actually commented out. > > Here is the right code with your suggested var lines added: > > if (!www_authorize("", "subscriber")) > { > $var(reg) = $retcode; > if ($var(reg) < 0) > { > xlog("L_INFO","$var(reg)"); > switch ($retcode) > { > case -5: > xlog("L_INFO","Error"); > break; > case -4: > xlog("L_INFO","Please send new Register with auth > info"); > www_challenge("", "0"); > exit; > case -2: > xlog("L_INFO","Wrong password"); > break; > case -1: > xlog("L_INFO","User doesnt exist"); > break; > default: > xlog("L_INFO","Default"); > } > sl_send_reply("403","Forbidden"); > exit; > } > } > > And this is what I see in logs: > > Jul 7 07:19:11 rambo /usr/sbin/opensips[20498]: DBG:auth:pre_auth: > credentials with given realm not found > Jul 7 07:19:11 rambo /usr/sbin/opensips[20498]: > DBG:core:comp_scriptvar: int 26 : -4 / 0 > Jul 7 07:19:11 rambo /usr/sbin/opensips[20498]: -4 > Jul 7 07:19:11 rambo /usr/sbin/opensips[20498]: DBG:core:do_action: > switch: running default statement > Jul 7 07:19:11 rambo /usr/sbin/opensips[20498]: Default > > So I guess -4 is being returned but it is still using default for some > reason..? > > Thanks again Bogdan. > > Regards, > Bruce > > > > > > > > *From:* Bogdan-Andrei Iancu > *To:* OpenSIPS users mailling list > *Sent:* Tue, 6 July, 2010 22:40:45 > *Subject:* Re: [OpenSIPS-Users] www_authorize return codes > > The script is a bit buggy > > just before the "Switch" you have an "exit;", so the switch will never > be executed. Try: > > www_authorize("", "subscriber"); > $var(x) = $retcode; > if ($var(x) < 0) { > switch ($retcode) { > case -5: > xlog("L_INFO","Error"); > break; > case -4: > xlog("L_INFO","Please send new Register with auth > info"); > www_challenge("", "0"); > exit; > case -2: > xlog("L_INFO","Wrong password"); > break; > case -1: > xlog("L_INFO","User doesnt exist"); > break; > default: > xlog("L_INFO","Default"); > } > sl_send_reply("403","Forbidden"); > exit; > } > > Regards, > Bogdan > > Bruce Borrett wrote: > > Hi Bogdan > > > > Here is the www_auth block from my config: > > > >if (!www_authorize("", "subscriber")) > >{ > >www_challenge("", "0"); > >exit; > > switch ($retcode) > >{ > >case -5: > >xlog("L_INFO","Error"); > >break; > >case -4: > >xlog("L_INFO","Please send new Register with auth > > info"); > >www_challenge("", "0"); > >exit; > >case -2: > >xlog("L_INFO","Wrong pa
Re: [OpenSIPS-Users] www_authorize return codes
Sorry Bogdan, my snippet was a bit wrong there, I put that challenge and exit in later on just to get it to work temporarily, everything after that was actually commented out. Here is the right code with your suggested var lines added: if (!www_authorize("", "subscriber")) { $var(reg) = $retcode; if ($var(reg) < 0) { xlog("L_INFO","$var(reg)"); switch ($retcode) { case -5: xlog("L_INFO","Error"); break; case -4: xlog("L_INFO","Please send new Register with auth info"); www_challenge("", "0"); exit; case -2: xlog("L_INFO","Wrong password"); break; case -1: xlog("L_INFO","User doesnt exist"); break; default: xlog("L_INFO","Default"); } sl_send_reply("403","Forbidden"); exit; } } And this is what I see in logs: Jul 7 07:19:11 rambo /usr/sbin/opensips[20498]: DBG:auth:pre_auth: credentials with given realm not found Jul 7 07:19:11 rambo /usr/sbin/opensips[20498]: DBG:core:comp_scriptvar: int 26 : -4 / 0 Jul 7 07:19:11 rambo /usr/sbin/opensips[20498]: -4 Jul 7 07:19:11 rambo /usr/sbin/opensips[20498]: DBG:core:do_action: switch: running default statement Jul 7 07:19:11 rambo /usr/sbin/opensips[20498]: Default So I guess -4 is being returned but it is still using default for some reason..? Thanks again Bogdan. Regards, Bruce From: Bogdan-Andrei Iancu To: OpenSIPS users mailling list Sent: Tue, 6 July, 2010 22:40:45 Subject: Re: [OpenSIPS-Users] www_authorize return codes The script is a bit buggy just before the "Switch" you have an "exit;", so the switch will never be executed. Try: www_authorize("", "subscriber"); $var(x) = $retcode; if ($var(x) < 0) { switch ($retcode) { case -5: xlog("L_INFO","Error"); break; case -4: xlog("L_INFO","Please send new Register with auth info"); www_challenge("", "0"); exit; case -2: xlog("L_INFO","Wrong password"); break; case -1: xlog("L_INFO","User doesnt exist"); break; default: xlog("L_INFO","Default"); } sl_send_reply("403","Forbidden"); exit; } Regards, Bogdan Bruce Borrett wrote: > Hi Bogdan > > Here is the www_auth block from my config: > > if (!www_authorize("", "subscriber")) > { > www_challenge("", "0"); > exit; > switch ($retcode) > { > case -5: > xlog("L_INFO","Error"); > break; > case -4: > xlog("L_INFO","Please send new Register with auth > info"); > www_challenge("", "0"); > exit; > case -2: > xlog("L_INFO","Wrong password"); > break; > case -1: > xlog("L_INFO","User doesnt exist"); > break; > default: > xlog("L_INFO","Default"); > } > } > > Thanks, > Bruce > > > *From:* Bogdan-Andrei Iancu > *To:* OpenSIPS users mailling list > *Sent:* Tue, 6 July, 2010 20:13:03 > *Subject:* Re: [OpenSIPS-Users] www_authorize return codes > > Hi Bruce, > > no, they did not change. Post your switch to see if correct or not. > > Regards, > Bogdan > > Bruce Borrett wrote: > > Hi all > > > > I cant get switch to catch any return codes for www_authorize. The > > default catch works, but -5 through -1 as stated in the docs do not > > work, I also tried positive 1 th
Re: [OpenSIPS-Users] www_authorize return codes
Hi Bogdan Here is the www_auth block from my config: if (!www_authorize("", "subscriber")) { www_challenge("", "0"); exit; switch ($retcode) { case -5: xlog("L_INFO","Error"); break; case -4: xlog("L_INFO","Please send new Register with auth info"); www_challenge("", "0"); exit; case -2: xlog("L_INFO","Wrong password"); break; case -1: xlog("L_INFO","User doesnt exist"); break; default: xlog("L_INFO","Default"); } } Thanks, Bruce From: Bogdan-Andrei Iancu To: OpenSIPS users mailling list Sent: Tue, 6 July, 2010 20:13:03 Subject: Re: [OpenSIPS-Users] www_authorize return codes Hi Bruce, no, they did not change. Post your switch to see if correct or not. Regards, Bogdan Bruce Borrett wrote: > Hi all > > I cant get switch to catch any return codes for www_authorize. The > default catch works, but -5 through -1 as stated in the docs do not > work, I also tried positive 1 through 5... Have these codes changed? > > Thanks in advance.. > > Regards, > Bruce > > > > ___ > Users mailing list > Users@lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > -- Bogdan-Andrei Iancu OpenSIPS Bootcamp 20 - 24 September 2010, Frankfurt, Germany www.voice-system.ro ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
[OpenSIPS-Users] www_authorize return codes
Hi all I cant get switch to catch any return codes for www_authorize. The default catch works, but -5 through -1 as stated in the docs do not work, I also tried positive 1 through 5... Have these codes changed? Thanks in advance.. Regards, Bruce ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] B2B Ack issue
Hi Anca The problem is indeed now fixed, calls are working perfectly . Please let me know if you would like me to paste a new trace and debug for interests sake... Also, I was wondering whether you have any benchmark figures on concurrent B2B calls, any figure at all that I can get a rough idea from. Thank you so much for all your great work and help so far, Im sure I speak for the entire community when I say how much I appreciate the work that has been done by all involved in Openser/sips project. Regards, Bruce From: Anca Vamanu To: users@lists.opensips.org Sent: Wed, 16 June, 2010 12:51:16 Subject: Re: [OpenSIPS-Users] B2B Ack issue Hi Bruce, Thank you for the report. It was indeed a bug - the transaction from tm module was deleted before the ACK was received. Now we fixed this. Please update your code. Thanks and regards, -- Anca Vamanu www.voice-system.ro On 06/15/2010 11:17 AM, Bruce Borrett wrote: > >Hi All > >>Sorry if I have confused the list with all my paste links :) > >>Anca, if the ACK from 196.x.x.208 is not being matched to a transaction >correctly, then how does B2B module know to route the ACK to 41.x.x.33, >and it is even using the correct call id and from and to tags? > >>Regards, >>Bruce > ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] In dialog requests misrouted
So I believe what you are saying is that it is not optimal to use a nat test in a reply route, rather flags should be set in the request route and then checked for in the reply route. They are using openser 1.3, I have only known openser/opensips since 1.5, perhaps flags were not possible in 1.3? Anyway, they will not change their config for us, so we will need to either stick with our hacks, or implement b2bua in between. I will look into opensips b2bua. Thank you Bogdan. Regards, Bruce From: Bogdan-Andrei Iancu To: OpenSIPS users mailling list Sent: Thu, 27 May, 2010 15:42:18 Subject: Re: [OpenSIPS-Users] In dialog requests misrouted Hi Bruce, by simply looking at a reply, is hard to say if you are the right entity to do the fix. Like here, both 1 and 2 see the private contact in the reply coming from 4 (same test) but only 2 should do the fixing (it is on the NAT edge). As best practice, the proxy should remember that the request was send somewhere behind a NAT and to accordingly handle the replies (without any extra check). Instead of using asterisk, maybe you can use opensips as B2BUA - it is much lighter. Regards, Bogdan Bruce Borrett wrote: > Hi Bogdan > > I believe I have found the culprit, I managed to get a copy of server > 1's config, and they are using uac_nat_test("19") in their reply > route, that is completely wrong is it not? Replies would always be > fixed? Currently these guys have clients with sbc's connecting > straight to their server, and from their server straight to asterisk > pstn gateways. We too just had a simple sbc connecting directly to > their server. I believe they have hacked there config to a state so > fubar, that it can only work in that setup. The only way I think we > might solve this without any hacks to our config is to put a bunch of > asterisk servers between us and them? > > Regards, > Bruce > > > > *From:* Bogdan-Andrei Iancu > *To:* OpenSIPS users mailling list > *Sent:* Tue, 25 May, 2010 21:28:02 > *Subject:* Re: [OpenSIPS-Users] In dialog requests misrouted > > Hi Bruce, > > Bruce Borrett wrote: > > Hi Bogdan > > > > Just to complicate things a bit, 4.4.4.4 is the public ip of the nated > > device... I made a mistake in my trace where I changed the contact > > address in the initial 200 (from 4.4.4.4), it should have been the > > nated ip, 5.5.5.5 for example... So you will see then that 2 is in > > fact fixing the contact, but 1 is then fixing it again... > why 2 is doing again? if you see a public IP (like 4) in contact, do not > fix it again! > > > > For now we have managed to create a workaround whereby we perform a > > "lookup location" on any acks, cancels or byes received from 1.1.1.1, > > this function fixes the ruri to the correct one from the location > > table, and sends it out correctly. This seems to be working fine so > far... > yeah, but it is really a ugly hack that my break SIP routing - ACK is a > sequential request and must be routed contact + route set only. > > Regards, > Bogdan > > > > Thank you for your help, > > > > Regards, > > Bruce > > > > > > > > *From:* Bogdan-Andrei Iancu <mailto:bog...@voice-system.ro>> > > *To:* OpenSIPS users mailling list <mailto:users@lists.opensips.org>> > > *Sent:* Fri, 21 May, 2010 12:57:37 > > *Subject:* Re: [OpenSIPS-Users] In dialog requests misrouted > > > > Hi Bruce, > > > > It is a logical problem. The chain is: 3 -> 1 -> 2 -> 4, and when the > > reply goes back, the NAT traversal must be done by the border entity > > (first in the public net). So, if 4 is behind nat, then 2 must do it and > > not 1 (like in your case) > > > > Because 1 (and not 2) is "fixing" the contact , the routing info gets > > lost (the 4 hop is lost). So, guilty is 2 for not fixing the contact in > > 200 OK from 4. > > > > Regards, > > Bogdan > > > > Bruce Borrett wrote: > > > Hi Bogdan > > > > > > Thank you for your reply, that is exactly how I understood it. > > > > > > Here is another fuller trace for a better understanding of the > > > problem, which I believe to be uac_nat_test. On both servers , when a > > > 200 is received, uac_nat_test is returning true because it is finding > > > the top via (next hop for reply) to be different to the source ip > > > (previous hop of reply): > > > > > > Internet Prot
Re: [OpenSIPS-Users] B2B Ack issue
Hi All Sorry if I have confused the list with all my paste links :) Anca, if the ACK from 196.x.x.208 is not being matched to a transaction correctly, then how does B2B module know to route the ACK to 41.x.x.33, and it is even using the correct call id and from and to tags? Regards, Bruce From: Anca Vamanu To: users@lists.opensips.org Sent: Tue, 15 June, 2010 9:49:58 Subject: Re: [OpenSIPS-Users] B2B Ack issue Hi Inaki, The first two bugs are no longer valid. You probably looked at an old trace that the user pasted, I then asked him to update the code and there are no longer this problems. With the third, you are right, this is the point of the B2BUA to put itself in the middle of the call and hide the topology. Regards, -- Anca Vamanu www.voice-system.ro On 06/15/2010 02:53 AM, IƱaki Baz Castillo wrote: > 2010/6/14 Anca Vamanu: > >> Trace: >> http://pastebin.com/utcx2Fpf >> > In this trace I see 2 bugs (b2bua module bugs?) and a possible third bug: > > > 1) The From generated by b2bua is illegal: > > > From:;tag=call-f1030790-3656-2d10-1919...@192.x.x.154c0a8c89a-4f7 > > The @ symbol in the "tag" is not valid. A @ can be present in a header > param if it's enclosed in double quotes, but "tag" doesn't allow > quotes, it must be just a token. > > > 2) The ftag param in Record-Route is illegal: > > Record-Route: > > The @ symbol in a SIP URI param is not valid. Also, a SIP URI param > cannot contain double quotes, but just a token. > > > 3) The 200 replied to the UAC has no mirrored Record-Route, but I > expect that this is exactly the desired behaviour of the b2bua module > :) > > > > > ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] B2B Ack issue
Hi Anca My sincere apologies. I dont understand how I managed to paste the same thing again. Please find below the new trace and debug. Trace: http://pastebin.com/utcx2Fpf Debug: http://pastebin.com/1wUXiehG Thank you and regards, Bruce From: Anca Vamanu To: users@lists.opensips.org Sent: Mon, 14 June, 2010 10:31:54 Subject: Re: [OpenSIPS-Users] B2B Ack issue Hi Bruce, No, you were not rude. In these traces there is exactly the same problem as before: the from tag contains a '@': From: ;tag=call-f1030790-3656-2d10-1919...@192.x.x.154c0a8c89a-4f7 Are you sure you are running with the latest svn version? Regards, -- Anca Vamanu www.voice-system.ro On 06/13/2010 11:10 AM, Bruce Borrett wrote: > >Hi Anca > >>Did these two links work for you? I hope I was not being rude in my >last email? > >>Regards, >>Bruce > > > > From: >Bruce Borrett >To: OpenSIPS users >mailling list >Sent: Thu, 10 June, >2010 16:26:47 >Subject: Re: >[OpenSIPS-Users] B2B Ack issue > > >Hi Anca > >>That is the first email I sent...? > >>This is from my second email: > >>Here is a new SPI trace: >http://pastebin.com/Xit26Gkk > >>And a new Debug: >http://pastebin.com/ZB5xTsvj > >>Regards, >>Bruce > > > > From: >Anca Vamanu >To: users@lists.opensips.org >Sent: Thu, 10 June, >2010 16:07:31 >Subject: Re: >[OpenSIPS-Users] B2B Ack issue > >>On 06/10/2010 01:35 AM, Bruce Borrett wrote: > >Hi >> >>>>I have copied a config from one of the B2B tutorials, and only made one >>or two small changes to it. The problem I am having is that when an ACK >>is sent by the caller after receiving a 200, opensips tries to do a dns >>lookup on the source ip of the ACK for some reason. I do not have dns >>set up and am not using domain names anywhere. >> >>>>Here is a sip trace of the call: >>http://pastebin.com/iDvVgk2B >> >> >And here is a debug: >>http://pastebin.com/teSuTp7E >> >> >This link points to the last log file, it does not correspond with the >trace? Can you give the right one? > >>Regards, > >-- >Anca Vamanu >www.voice-system.ro > > > > >___ >Users mailing list >Users@lists.opensips.org >http://lists.opensips.org/cgi-bin/mailman/listinfo/users ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] B2B Ack issue
Hi Anca Did these two links work for you? I hope I was not being rude in my last email? Regards, Bruce From: Bruce Borrett To: OpenSIPS users mailling list Sent: Thu, 10 June, 2010 16:26:47 Subject: Re: [OpenSIPS-Users] B2B Ack issue Hi Anca That is the first email I sent...? This is from my second email: Here is a new SPI trace: http://pastebin.com/Xit26Gkk And a new Debug: http://pastebin.com/ZB5xTsvj Regards, Bruce From: Anca Vamanu To: users@lists.opensips.org Sent: Thu, 10 June, 2010 16:07:31 Subject: Re: [OpenSIPS-Users] B2B Ack issue On 06/10/2010 01:35 AM, Bruce Borrett wrote: > >Hi > >>I have copied a config from one of the B2B tutorials, and only made one >or two small changes to it. The problem I am having is that when an ACK >is sent by the caller after receiving a 200, opensips tries to do a dns >lookup on the source ip of the ACK for some reason. I do not have dns >set up and am not using domain names anywhere. > >>Here is a sip trace of the call: >http://pastebin.com/iDvVgk2B > > And here is a debug: >http://pastebin.com/teSuTp7E > > This link points to the last log file, it does not correspond with the trace? Can you give the right one? Regards, -- Anca Vamanu www.voice-system.ro ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] B2B Ack issue
Hi Anca That is the first email I sent...? This is from my second email: Here is a new SPI trace: http://pastebin.com/Xit26Gkk And a new Debug: http://pastebin.com/ZB5xTsvj Regards, Bruce From: Anca Vamanu To: users@lists.opensips.org Sent: Thu, 10 June, 2010 16:07:31 Subject: Re: [OpenSIPS-Users] B2B Ack issue On 06/10/2010 01:35 AM, Bruce Borrett wrote: > >Hi > >>I have copied a config from one of the B2B tutorials, and only made one >or two small changes to it. The problem I am having is that when an ACK >is sent by the caller after receiving a 200, opensips tries to do a dns >lookup on the source ip of the ACK for some reason. I do not have dns >set up and am not using domain names anywhere. > >>Here is a sip trace of the call: >http://pastebin.com/iDvVgk2B > > And here is a debug: >http://pastebin.com/teSuTp7E > > This link points to the last log file, it does not correspond with the trace? Can you give the right one? Regards, -- Anca Vamanu www.voice-system.ro ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] B2B Ack issue
Hi Anca Thank you, the latest revision did solve that issue, the ACK is now being relayed properly. Although I seem to have another issue now with Opensips retransmitting the 200 right throughout the call, even after it has received and relayed the ACK?! Here is a new SPI trace: http://pastebin.com/Xit26Gkk And a new Debug: http://pastebin.com/ZB5xTsvj Thanks, Bruce From: Anca Vamanu To: users@lists.opensips.org Sent: Thu, 10 June, 2010 10:42:48 Subject: Re: [OpenSIPS-Users] B2B Ack issue Hi Bruce, It is clear now what happens - you have to upgrade the b2b modules to the svn version because there is a problem in the stable release. In there the from tag in the generated is constructed as the concatenation of from tag and callid from the initial request. The problem is that most clients put in the callid '@ip address' and @ is an illegal character in from tag. So the from tag in you case was: From: ;tag=call-f1030790-3656-2d10-1919...@192.x.x.154c0a8c89a-4f7 And the destination uri for the ACK became: DBG:tm:t_uac: next_hop= The parser then concluded that the domain was the string after '@': 192.x.x.154c0a8c89a-4f7 - and it tried doing a look up on this. This problem is fixed in the svn branch as illegal characters are not allowed anymore. Please update. Regards, -- Anca Vamanu www.voice-system.ro On 06/10/2010 01:35 AM, Bruce Borrett wrote: > >Hi > >>I have copied a config from one of the B2B tutorials, and only made one >or two small changes to it. The problem I am having is that when an ACK >is sent by the caller after receiving a 200, opensips tries to do a dns >lookup on the source ip of the ACK for some reason. I do not have dns >set up and am not using domain names anywhere. > >>Here is a sip trace of the call: >http://pastebin.com/iDvVgk2B > >>And here is a debug: >http://pastebin.com/teSuTp7E > >>Thank you in advance.. > >>Regards, >>Bruce > > > >___ >Users mailing list >Users@lists.opensips.org >http://lists.opensips.org/cgi-bin/mailman/listinfo/users ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
[OpenSIPS-Users] B2B Ack issue
Hi I have copied a config from one of the B2B tutorials, and only made one or two small changes to it. The problem I am having is that when an ACK is sent by the caller after receiving a 200, opensips tries to do a dns lookup on the source ip of the ACK for some reason. I do not have dns set up and am not using domain names anywhere. Here is a sip trace of the call: http://pastebin.com/iDvVgk2B And here is a debug: http://pastebin.com/teSuTp7E Thank you in advance.. Regards, Bruce ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] In dialog requests misrouted
Hi Bogdan I believe I have found the culprit, I managed to get a copy of server 1's config, and they are using uac_nat_test("19") in their reply route, that is completely wrong is it not? Replies would always be fixed? Currently these guys have clients with sbc's connecting straight to their server, and from their server straight to asterisk pstn gateways. We too just had a simple sbc connecting directly to their server. I believe they have hacked there config to a state so fubar, that it can only work in that setup. The only way I think we might solve this without any hacks to our config is to put a bunch of asterisk servers between us and them? Regards, Bruce From: Bogdan-Andrei Iancu To: OpenSIPS users mailling list Sent: Tue, 25 May, 2010 21:28:02 Subject: Re: [OpenSIPS-Users] In dialog requests misrouted Hi Bruce, Bruce Borrett wrote: > Hi Bogdan > > Just to complicate things a bit, 4.4.4.4 is the public ip of the nated > device... I made a mistake in my trace where I changed the contact > address in the initial 200 (from 4.4.4.4), it should have been the > nated ip, 5.5.5.5 for example... So you will see then that 2 is in > fact fixing the contact, but 1 is then fixing it again... why 2 is doing again? if you see a public IP (like 4) in contact, do not fix it again! > > For now we have managed to create a workaround whereby we perform a > "lookup location" on any acks, cancels or byes received from 1.1.1.1, > this function fixes the ruri to the correct one from the location > table, and sends it out correctly. This seems to be working fine so far... yeah, but it is really a ugly hack that my break SIP routing - ACK is a sequential request and must be routed contact + route set only. Regards, Bogdan > > Thank you for your help, > > Regards, > Bruce > > > > *From:* Bogdan-Andrei Iancu > *To:* OpenSIPS users mailling list > *Sent:* Fri, 21 May, 2010 12:57:37 > *Subject:* Re: [OpenSIPS-Users] In dialog requests misrouted > > Hi Bruce, > > It is a logical problem. The chain is: 3 -> 1 -> 2 -> 4, and when the > reply goes back, the NAT traversal must be done by the border entity > (first in the public net). So, if 4 is behind nat, then 2 must do it and > not 1 (like in your case) > > Because 1 (and not 2) is "fixing" the contact , the routing info gets > lost (the 4 hop is lost). So, guilty is 2 for not fixing the contact in > 200 OK from 4. > > Regards, > Bogdan > > Bruce Borrett wrote: > > Hi Bogdan > > > > Thank you for your reply, that is exactly how I understood it. > > > > Here is another fuller trace for a better understanding of the > > problem, which I believe to be uac_nat_test. On both servers , when a > > 200 is received, uac_nat_test is returning true because it is finding > > the top via (next hop for reply) to be different to the source ip > > (previous hop of reply): > > > > Internet Protocol, Src: 1.1.1.1 (1.1.1.1), Dst: 2.2.2.2 (2.2.2.2) > > > > User Datagram Protocol, Src Port: sip (5060), Dst Port: sip (5060) > > > > INVITE sip:111...@2.2.2.2 SIP/2.0 > > Record-Route: > > Via: SIP/2.0/UDP 1.1.1.1;branch=z9hG4bK5be8.eeb63911.0 > > Via: SIP/2.0/UDP 3.3.3.3:5060;branch=z9hG4bK55985828;rport=5060 > > From: "222" ;tag=as1a75bb38 > > To: > > Contact: > > Call-ID: 7a98e4540899dde2053dc8a11cee1...@3.3.3.3 > > CSeq: 102 INVITE > > User-Agent: Asterisk PBX > > Max-Forwards: 69 > > Date: Tue, 18 May 2010 06:29:00 GMT > > Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY > > Supported: replaces > > X-CRE-ID: "sbc-tp-04-1274164140.30823.0 > > X-DIALSTRING: SIP/ico-bry-001/11 > > Content-Type: application/sdp > > Content-Length: 259 > > > > v=0 > > o=root 4296 4296 IN IP4 3.3.3.3 > > s=session > > c=IN IP4 3.3.3.3 > > t=0 0 > > m=audio 10060 RTP/AVP 18 101 > > a=rtpmap:18 G729/8000 > > a=fmtp:18 annexb=no > > a=rtpmap:101 telephone-event/8000 > > a=fmtp:101 0-16 > > a=silenceSupp:off - - - - > > a=ptime:60 > > a=sendrecv > > > > > > > > > > > > > > > > > > Internet Protocol, Src: 2.2.2.2 (2.2.2.2), Dst: 4.4.4.4 (4.4.4.4) > > > > User Datagram Protocol, Src Port: sip (5060), Dst Port: sip (5060) > > > > INVITE sip:111...@4.4.4.4 SIP/2.0 > > Record-Route: > > Record-Route: > > Via: SIP/2.0/UDP 2.2.2.2;branch=z9hG4bK5be8.91dcf496.0 > > Via: SIP/2.0/UDP >
Re: [OpenSIPS-Users] MySQL and multiple geographic servers
Hi The purpose/goal of this setup is not load balancing or failover. We are providing pstn termination, so we want to hand calls off to the pstn in each geographic region to reduce the amount of long distance charges... Leased lines are also charged by the distance here, so it would also help to have all clients connecting to a local server. So to paint a picture, we have region 1 and 2. Each region has a pop with an opensips server and a pstn gateway. Clients from each region register to their local server. When client in region 1 wants to call pstn number in region 2, server 1 needs to relay call to server 2 which would hand call to the pstn gateway there, and call would be charged as local. In this case we can just use a pstn route which checks for certain prefixes and forwards to the correct server. If a pstn user in region 2 calls one of our clients registered to server 1, then server 2 either needs to know that the client is registered with server 1 and relay the call to server 1, or server 2 needs to also have the registration in its location table, and send the call straight to the client. The same will apply when a user registered to server 1 wants to call a user registered to server 2. The solutions I have heard of or thought of for this case are both servers using same mysql database, this will add huge latency to all lookups for either one or both of the servers, or my idea of replicating the database between the 2 servers, apparently this wont work though. Another suggestion I got was to replicate the registration from one server to another... Any other ideas? Feel free to tell me I have no idea what Im doing, I need to know whether Im on the right path. Regards, Bruce From: osiris123d To: users@lists.opensips.org Sent: Mon, 24 May, 2010 20:36:07 Subject: Re: [OpenSIPS-Users] MySQL and multiple geographic servers Will your clients be behind a firewall? If so you would need to worry about the natted devices not being able to recieve SIP messages from the secondary SIP Proxy if the secondard ever needed to send SIP messages (example: Proxy Primary is down, so Proxy Secondary takes over) -- View this message in context: http://opensips-open-sip-server.1449251.n2.nabble.com/MySQL-and-multiple-geographic-servers-tp5095071p5095184.html Sent from the OpenSIPS - Users mailing list archive at Nabble.com. ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
[OpenSIPS-Users] MySQL and multiple geographic servers
Hi all I need to have multiple opensips servers which are in different geographic locations share MySQL tables, like location and acc for example. Since I would like to eliminate the latency involved with reading/writing to a remote database, is it possible for each server to hold its own database, and then I use mysql replication to keep the tables on all the servers synchronised, or must all the servers read/write from the same database/server? Or is there an entirely different way that I should be going about this? Thank you in advance. Regards, Bruce ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] In dialog requests misrouted
Hi Bogdan Just to complicate things a bit, 4.4.4.4 is the public ip of the nated device... I made a mistake in my trace where I changed the contact address in the initial 200 (from 4.4.4.4), it should have been the nated ip, 5.5.5.5 for example... So you will see then that 2 is in fact fixing the contact, but 1 is then fixing it again... For now we have managed to create a workaround whereby we perform a "lookup location" on any acks, cancels or byes received from 1.1.1.1, this function fixes the ruri to the correct one from the location table, and sends it out correctly. This seems to be working fine so far... Thank you for your help, Regards, Bruce From: Bogdan-Andrei Iancu To: OpenSIPS users mailling list Sent: Fri, 21 May, 2010 12:57:37 Subject: Re: [OpenSIPS-Users] In dialog requests misrouted Hi Bruce, It is a logical problem. The chain is: 3 -> 1 -> 2 -> 4, and when the reply goes back, the NAT traversal must be done by the border entity (first in the public net). So, if 4 is behind nat, then 2 must do it and not 1 (like in your case) Because 1 (and not 2) is "fixing" the contact , the routing info gets lost (the 4 hop is lost). So, guilty is 2 for not fixing the contact in 200 OK from 4. Regards, Bogdan Bruce Borrett wrote: > Hi Bogdan > > Thank you for your reply, that is exactly how I understood it. > > Here is another fuller trace for a better understanding of the > problem, which I believe to be uac_nat_test. On both servers , when a > 200 is received, uac_nat_test is returning true because it is finding > the top via (next hop for reply) to be different to the source ip > (previous hop of reply): > > Internet Protocol, Src: 1.1.1.1 (1.1.1.1), Dst: 2.2.2.2 (2.2.2.2) > > User Datagram Protocol, Src Port: sip (5060), Dst Port: sip (5060) > > INVITE sip:111...@2.2.2.2 SIP/2.0 > Record-Route: > Via: SIP/2.0/UDP 1.1.1.1;branch=z9hG4bK5be8.eeb63911.0 > Via: SIP/2.0/UDP 3.3.3.3:5060;branch=z9hG4bK55985828;rport=5060 > From: "222" ;tag=as1a75bb38 > To: > Contact: > Call-ID: 7a98e4540899dde2053dc8a11cee1...@3.3.3.3 > CSeq: 102 INVITE > User-Agent: Asterisk PBX > Max-Forwards: 69 > Date: Tue, 18 May 2010 06:29:00 GMT > Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY > Supported: replaces > X-CRE-ID: "sbc-tp-04-1274164140.30823.0 > X-DIALSTRING: SIP/ico-bry-001/11 > Content-Type: application/sdp > Content-Length: 259 > > v=0 > o=root 4296 4296 IN IP4 3.3.3.3 > s=session > c=IN IP4 3.3.3.3 > t=0 0 > m=audio 10060 RTP/AVP 18 101 > a=rtpmap:18 G729/8000 > a=fmtp:18 annexb=no > a=rtpmap:101 telephone-event/8000 > a=fmtp:101 0-16 > a=silenceSupp:off - - - - > a=ptime:60 > a=sendrecv > > > > > > > > > Internet Protocol, Src: 2.2.2.2 (2.2.2.2), Dst: 4.4.4.4 (4.4.4.4) > > User Datagram Protocol, Src Port: sip (5060), Dst Port: sip (5060) > > INVITE sip:111...@4.4.4.4 SIP/2.0 > Record-Route: > Record-Route: > Via: SIP/2.0/UDP 2.2.2.2;branch=z9hG4bK5be8.91dcf496.0 > Via: SIP/2.0/UDP > 1.1.1.1;rport=5060;received=1.1.1.1;branch=z9hG4bK5be8.eeb63911.0 > Via: SIP/2.0/UDP 3.3.3.3:5060;branch=z9hG4bK55985828;rport=5060 > From: "22" ;tag=as1a75bb38 > To: > Contact: > Call-ID: 7a98e4540899dde2053dc8a11cee1...@3.3.3.3 > CSeq: 102 INVITE > User-Agent: Asterisk PBX > Max-Forwards: 68 > Date: Tue, 18 May 2010 06:29:00 GMT > Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY > Supported: replaces > X-CRE-ID: "sbc-tp-04-1274164140.30823.0 > X-DIALSTRING: SIP/ico-bry-001/11 > Content-Type: application/sdp > Content-Length: 259 > > v=0 > o=root 4296 4296 IN IP4 3.3.3.3 > s=session > c=IN IP4 3.3.3.3 > t=0 0 > m=audio 10060 RTP/AVP 18 101 > a=rtpmap:18 G729/8000 > a=fmtp:18 annexb=no > a=rtpmap:101 telephone-event/8000 > a=fmtp:101 0-16 > a=silenceSupp:off - - - - > a=ptime:60 > a=sendrecv > > > > > > Internet Protocol, Src: 4.4.4.4 (4.4.4.4), Dst: 2.2.2.2 (2.2.2.2) > > User Datagram Protocol, Src Port: sip (5060), Dst Port: sip (5060) > > SIP/2.0 200 OK > Via: SIP/2.0/UDP 2.2.2.2;branch=z9hG4bK5be8.91dcf496.0;received=2.2.2.2 > Via: SIP/2.0/UDP > 1.1.1.1;rport=5060;received=1.1.1.1;branch=z9hG4bK5be8.eeb63911.0 > Via: SIP/2.0/UDP 3.3.3.3:5060;branch=z9hG4bK55985828;rport=5060 > Record-Route: > Record-Route: > From: "22" ;tag=as1a75bb38 > To: ;tag=as5bd164c9 > Call-ID: 7a98e4540899dde2053dc8a11cee1...@3.3.3.3 > CSeq: 102 INVITE > User-Agent: Asterisk PBX 1.6.0.9 > Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY > Supported: replaces, timer
Re: [OpenSIPS-Users] In dialog requests misrouted
00 replies. Later the BYE from 1.1.1.1 also has an incorrect ruri and so it is also not sent on to 4.4.4.4 as follows: Internet Protocol, Src: 1.1.1.1 (1.1.1.1), Dst: 2.2.2.2 (2.2.2.2) User Datagram Protocol, Src Port: sip (5060), Dst Port: sip (5060) BYE sip:111...@2.2.2.2:5060 SIP/2.0 Record-Route: Via: SIP/2.0/UDP 1.1.1.1;branch=z9hG4bK6be8.2fa52b26.0 Via: SIP/2.0/UDP 3.3.3.3:5060;branch=z9hG4bK02874f97;rport=5060 Route: From: "22" ;tag=as1a75bb38 To: ;tag=as5bd164c9 Call-ID: 7a98e4540899dde2053dc8a11cee1...@3.3.3.3 CSeq: 103 BYE User-Agent: Asterisk PBX Max-Forwards: 69 Reason: Q.850 ;cause=16; text="Normal Clearing" X-Asterisk-HangupCauseCode: 16 Content-Length: 0 I believe we would have been able to fix this issue by using the dialoq module on both servers, but I do not know much about the dialog module yet, and unfortunately we have no control over one of the opensips servers. i also thought of trying to use the b2bua modules on just our server, but once again i will first need to learn more about those, but for now, we have managed to create a workaround whereby we rewrite the ruri for all acks, byes and cancels with the ip retrieved from the location table (using avp_db_query), which seems to be working, for now. I hope to find a more reliable fix. Thanks for the help. Bruce From: Bogdan-Andrei Iancu To: OpenSIPS users mailling list Sent: Tue, 18 May, 2010 17:54:01 Subject: Re: [OpenSIPS-Users] In dialog requests misrouted Hi Bruce, The ACK for a 200OK is routed based on the route set - this the RR set + the contact of the other party.So, the ACK will have in RURI the contact of the other party (from 200 OK) and the RR set as Route hdrs. Regards, Bogdan Bruce Borrett wrote: > Hi > > We are trying to migrate from an SBC to Opensips 1.6. When we are > sending calls to another provider who are using Openser, they are not > taking the contact address from our 200 replies, instead they are > putting our Openser address in the RURI of all Acks, Byes and Cancels. > Am I right in saying that this is incorrect? Im not sure where they > are getting this address either, maybe from the To: field, or from the > record route header? > > Is there a way to match the message received to a transaction and > route the message to the contact in the original invite stored by TM? > Or perhaps some better way of solving this? > > Here are the messages: > > SIP/2.0 200 OK > Via: SIP/2.0/UDP > xx.xxx.0.33;rport=5060;received=41.221.0.33;branch=z9hG4bKb9fc.f1cf4e03.0 > Via: SIP/2.0/UDP xx.xxx.0.42:5060;branch=z9hG4bK3d3a5800;rport=5060 > Record-Route: > Record-Route: > From: "xxx7239" ;tag=as5e3b3ce0 > To: ;tag=as33b0f85f > Call-ID: 4b3419c86b29e5ce5a387a1b74f7e...@xx.xxx.0.42 > CSeq: 102 INVITE > User-Agent: Asterisk PBX 1.6.0.9 > Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY > Supported: replaces, timer > Contact: > Content-Type: application/sdp > Content-Length: 290 > > > ACK sip:xx0...@xx.xxx.1.13:5060 SIP/2.0 > Record-Route: > Via: SIP/2.0/UDP xx.xxx.0.33;branch=z9hG4bKb9fc.f1cf4e03.2 > Via: SIP/2.0/UDP xx.xxx.0.42:5060;branch=z9hG4bK5e0350ba;rport=5060 > Route: > From: "xxx7239" ;tag=as5e3b3ce0 > To: ;tag=as33b0f85f > Contact: > Call-ID: 4b3419c86b29e5ce5a387a1b74f7e...@xx.xxx.0.42 > CSeq: 102 ACK > User-Agent: Asterisk PBX > Max-Forwards: 69 > Content-Length: 0 > > Thank you very much in advance.. > Bruce > > > > > ___ > Users mailing list > Users@lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > -- Bogdan-Andrei Iancu www.voice-system.ro ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
[OpenSIPS-Users] In dialog requests misrouted
Hi We are trying to migrate from an SBC to Opensips 1.6. When we are sending calls to another provider who are using Openser, they are not taking the contact address from our 200 replies, instead they are putting our Openser address in the RURI of all Acks, Byes and Cancels. Am I right in saying that this is incorrect? Im not sure where they are getting this address either, maybe from the To: field, or from the record route header? Is there a way to match the message received to a transaction and route the message to the contact in the original invite stored by TM? Or perhaps some better way of solving this? Here are the messages: SIP/2.0 200 OK Via: SIP/2.0/UDP xx.xxx.0.33;rport=5060;received=41.221.0.33;branch=z9hG4bKb9fc.f1cf4e03.0 Via: SIP/2.0/UDP xx.xxx.0.42:5060;branch=z9hG4bK3d3a5800;rport=5060 Record-Route: Record-Route: From: "xxx7239" ;tag=as5e3b3ce0 To: ;tag=as33b0f85f Call-ID: 4b3419c86b29e5ce5a387a1b74f7e...@xx.xxx.0.42 CSeq: 102 INVITE User-Agent: Asterisk PBX 1.6.0.9 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Supported: replaces, timer Contact: Content-Type: application/sdp Content-Length: 290 ACK sip:xx0...@xx.xxx.1.13:5060 SIP/2.0 Record-Route: Via: SIP/2.0/UDP xx.xxx.0.33;branch=z9hG4bKb9fc.f1cf4e03.2 Via: SIP/2.0/UDP xx.xxx.0.42:5060;branch=z9hG4bK5e0350ba;rport=5060 Route: From: "xxx7239" ;tag=as5e3b3ce0 To: ;tag=as33b0f85f Contact: Call-ID: 4b3419c86b29e5ce5a387a1b74f7e...@xx.xxx.0.42 CSeq: 102 ACK User-Agent: Asterisk PBX Max-Forwards: 69 Content-Length: 0 Thank you very much in advance.. Bruce ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users