[OpenSIPS-Users] B2BUA help
Anca Vamanu
anca at opensips.org
Thu Feb 11 16:50:02 CET 2010
Hi Brian,
I have thought about this problem and discussed with Bogdan and he come
up with the simplest solution - take the Cseq from the received Invite.
And your scenario should be solved.
I will make this change and let you know when to update from svn.
Regards,
--
Anca Vamanu
www.voice-system.ro
opensipslist at encambio.com wrote:
> Hello Anca,
>
> I'm approaching the problem from a different perspective now,
> and making progress with your help. Please note the 'CSEQ'...
>
> Caller OpenSIPS B2B Mediaserver
> | | |
> INVITE CSEQ 1 ------------->| INVITE CSEQ 2 ----->|
> | | |
> |<-- 401 WWW-Authenticate |<-------- 401 WWW-Authenticate
> | | |
> INVITE CSEQ 2 ------------->| INVITE CSEQ 2 ----->|
> | | !!!!!! |
> | | |
> |<-- 401 WWW-Authenticate |<-------- 401 WWW-Authenticate
> | | |
>
> As you can see, the above scenario will not work. The B2B logic is
> not increasing the CSEQ of the second incoming INVITE. This is the
> real one that should actually start the dialog.
>
> How do you recommend to correct this. Can I simply adjust your
> prepaid.xml file?
>
> My best guess is that I can insert a 'delete_entity' to try to
> indicate to the B2b logic that a new dialog begins at the second
> INVITE, but I don't know how to do that. Is this right?
>
> <!-- prepaid.xml, insert a new 'request' block -->
> <rules>
> <request>
> <invite>
> <rule id="1">
> <condition>
> <state>1</state>
> <sender>
> <type>server</type>
> <id>server1</id>
> </sender>
> </condition>
>
> <action>
> <delete_entity/>
> <bridge>
> <client>
> <id>server1</id>
> </client>
> <client>
> <id>client1</id>
> <destination>
> <value type="initial">server1</value>
> </destination>
> </client>
> </bridge>
> <state>2</state>
> </action>
> </rule>
>
> Alternatively I could try changing the routing script to only call
> the B2B logic at the second INVITE, but that would be very hacky.
>
> # initial requests
> if (is_method("INVITE") && src_ip != myself) { # rewrite block
> if (!t_newtran()) { # to ignore any
> sl_reply_error(); # INVITE request
> exit; # without a Auth
> } # header
> b2b_init_request("prepaid", "sip:test at medsrv.host.tld:5080;transport=tcp", "sip:test at medsrv.host.tld:5080;transport=tcp");
> exit;
> }
>
> I prefer doing it correctly, by adjusting your prepaid.xml scenario.
>
> Regards,
> Brian
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
More information about the Users
mailing list