[OpenSIPS-Users] B2BUA help

Anca Vamanu anca at opensips.org
Mon Feb 22 12:50:27 CET 2010


Hi Brian,

You are right, the if RURI is changed the auth response calculation will 
get a different result at the media server.
As a solution, I will add a scenario parameter that tells B2B logic not 
to change the RURI, but keep the original one.
However, I must warn you again that if you use the complete prepaid 
scenario and the media server will request authorization when the caller 
is connected the second time to it, then it will not work. Because to 
connect the caller to the media server the second time, a reinvite is 
sent to the caller and am initial Invite to the media server after the 
caller's phone replies with 200 OK. There is no way to do authorization 
here.

But you can use only the first part, connecting the user to the media 
server only once at the beginning.

Regards,

-- 
Anca Vamanu
www.voice-system.ro




opensipslist at encambio.com wrote:
> Hello Anca,
>
> An ven., févr 12, 2010, opensipslist at encambio.com schrieb:
>   
>> An ven., févr 12, 2010, Anca Vamanu schrieb:
>>     
>>> It is ok to have cseq 2 on the other side if the received Invite
>>> has cseq 1. The implementation uses cseq +1 on the other side :).
>>> It should not be an issue.
>>>
>>>       
>> You're right.
>>
>>     
>>> Only if for the authorized Invite the cseq is not 3... You
>>> observed this?
>>>
>>>       
>> [...]
>>
>> But it's still not working...
>>
>> Problem
>>
>> The UAC receives the 401 response from the B2B logic and produces
>> the 'Authorization' string based on RFC 2617 3.2.1/3.2.2. It uses
>> the original (not B2B rewritten) RURI to calculate the MD5 string.
>>
>> The B2B logic then takes the new INVITE with the 'Authorization'
>> header and rewrites the RURI before forwarding it to the media
>> server. This rewriting procedure is the same for both the RURI
>> and 'To' URI. Both are set to the <destination> parameter of the
>> B2B XML file.
>>
>> When the client entity (media server) gets the new INVITE message
>> it rejects it because the RURI has changed thus invalidating the
>> 'Authorization' string. Do you understand?
>>
>> Solution
>>
>> My idea to solve this problem is when specifying a client
>> destination in the B2B XML file, a client entity will be created.
>> As before, the 'To' tag will be rewritten to match the <destination>
>> but the RURI should not be changed. When B2B forwards the INVITE
>> message to the media server it will be accepted because the
>> 'Authorization' header will be correct.
>>
>> Do you agree, and if so what is the best way to achieve this?
>> Maybe it's best to add this new logic as an option to the
>> <destination> tag? That way the default behaviour would be
>> to still rewrite the RURI as B2B was doing before.
>>
>>     
> I've looked at the code and searched for the place where the 'To'
> header and RURI are independently set. It seems that some dialog
> creation function of the TM module is being used, but I don't see
> how to set the 'To' and RURI independently.
>
> Have you thought about the problem I mentioned and the possible
> solutions to it? I'm still stuck without a functioning B2BUA,
> because the B2B logic is changing the RURI from the original
> message.
>
> 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