Hi Mickael,

The function was also added in OpenSIPS 1.6.4 in svn revision 8195.
If you script is dialog aware, then using this function will work.
You can catch the locally generated BYE in a local_route. There you can use this function to test if the BYE has already been relayed.

Regards,

Razvan Crainea
OpenSIPS Developer


On 29.07.2011 15:20, [email protected] wrote:
Thanks Razvan,
my version is 1.6.4-2-tls (svn revision: 2:8151)
but this function will work in ? knowing that my OpenSIPS generate this second BYE.

Ex:
- UAC --> BYE --> Opensips --> BYE --> provider
after 0,01s
- Opensips --> BYE --> provider
after
- provider --> 500 error -> opensips

Regards,

On Fri, 29 Jul 2011 15:11:29 +0300, Razvan Crainea wrote:
Hi Mickael,

 What version of OpenSIPS are you using? You can find a useful
function on trunk: test_and_set_dlg_flag [1]
 This function is executed atomically, so you can set a flag for the
first BYE. When the second BYE comes, if the flag is set you can
ignore it.

 Regards,

 [1]
http://www.opensips.org/html/docs/modules/devel/dialog.html#id294480
[3]

Razvan Crainea
OpenSIPS Developer

 On 29.07.2011 14:54, [email protected] [4] wrote:

I'm sorry if you receive this message twice, I had a problem sending
mail to users mailing list

So ....

I list,

I have a little problem with my proxy
(OpenSIPS/1.6.4-2-tls/i386/freebsd) and my voip provider
(CISCO-SBC/2.x and CS2000_NGSS/9.0).

In fact, my opensips send 2 BYE (Screenshot below)

2.2.2.2, 1.1.1.1, 3.3.3.3 are public IP

- My UAC (2.2.2.2) send BYE to my proxy Opensips (1.1.1.1), Opensips
resend this BYE to my provider (3.3.3.3).
- But after 0.01s my proxy send second BYE to my provider.
- Therefore my provider answer with 500 error.
- I think my proxy hangup dial and transfer this error to my UAC.
- But my provider send a 200OK after this error.

Why my proxy send 2 BYE ? Timer is to short ? how to change this
timer? Is T1 default value 500ms ?

-- BYE configuration (simple configuration):

_if (is_method("BYE"))_
_ {_
_ t_on_reply("4");_
_


xlog("L_INFO","################################################################################
n");_
_ xlog("L_INFO","END OF CALL : call-id $ci n");_
_ if($avp(s:debugcall)=~"yes"){ xlog("L_INFO","In HAS_TOTAG - Method
BYE - fu : $fu , ru : $ru , si : $si n"); }_
_


xlog("L_INFO","################################################################################
n");_____

_ setflag(1); # do accounting ..._
_ setflag(2); #missed call ..._
_ setflag(3); # ... even if the transaction fails_
_ setflag(4); #flag dialog___

_ if(is_present_hf("Proxy-Authorization"))_
_ {_
_ remove_hf("Proxy-Authorization");_
_ }_

_ t_relay();_
_ }_

-- On reply configuration (for a test I wanted to delete the 500
message, but impossible to remove) :

_onreply_route[4]_
_{_
_ xlog("L_INFO","$ci In ONREPLY ROUTE 4 - fu : $fu , ru : $ru , si :
$si , status : $rs n");_
_ if( t_check_status("500") ){_
_ xlog("L_INFO","DROP 500n");_
_ drop();___
_ }_
_}_

After several days of searching, Im stranded. So Id like your
opinion about it.

PS: complete sip capture.

thank in advance

Mickael

_______________________________________________
Users mailing list
[email protected] [1]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users [2]


Links:
------
[1] mailto:[email protected]
[2] http://lists.opensips.org/cgi-bin/mailman/listinfo/users
[3] http://www.opensips.org/html/docs/modules/devel/dialog.html#id294480
[4] mailto:[email protected]


_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to