[OpenSIPS-Users] Proxy on INVITE with auth

Bogdan-Andrei Iancu bogdan at opensips.org
Fri Sep 29 06:37:06 EDT 2017


Hi Igor,

I do not want ruin your enthusiasm here, but that is not enough, as 
there are messages generated by OpenSIPS, like the ACK (for negative 
replies) and CANCEL requests - and they will be build by OpenSIPS 
internals with the un-modified cseq value.

Regards,

Bogdan-Andrei Iancu
   OpenSIPS Founder and Developer
   http://www.opensips-solutions.com

On 09/27/2017 02:49 PM, Igor Olhovskiy wrote:
> Got it, thanks.
>
> Done with something alike
>
> route[RESTORE_CSEQ] {
>   if (isflagset(AUTH_DONE) && is_avp_set("$avp(original_cseq)")) {
>     remove_hf("CSeq:");
>     append_hf("CSeq: $avp(original_cseq) $rm\r\n", "Call-ID");
>     xlog("L_INFO", "[RESTORE_CSEQ]: [F=$fu R=$ru D=$du M=$rm 
> IP=($si:$sp $Ri:$Rp) ID=$ci CSeq: $avp(original_cseq)");
>   }
> }
>
> route[INCREASE_CSEQ] {
>   if (isflagset(AUTH_DONE) && is_avp_set("$avp(original_cseq)")) {
>     $var(inc_cseq) = $(avp(original_cseq){s.int}) + 1;
>     remove_hf("CSeq:");
>  append_hf("CSeq: $var(inc_cseq) $rm\r\n", "Call-ID");
>     xlog("L_INFO", "[INCREASE_CSEQ]: [F=$fu R=$ru D=$du M=$rm 
> IP=($si:$sp $Ri:$Rp) ID=$ci CSeq: $avp(original_cseq) -> 
> $var(inc_cseq)");
>   }
> }
>
> And than - put these routes in necessary places.
>
> Regards, Igor
>
> On 26 сент. 2017 г., 19:51 +0300, Bogdan-Andrei Iancu 
> <bogdan at opensips.org>, wrote:
>> Hello Igor,
>>
>> Right now OpenSIPs does not support increasing the cseq during UAC 
>> authentication. At the end this is a limitation of the a proxy versus 
>> a B2B :)
>>
>> Best regards,
>> Bogdan-Andrei Iancu
>>    OpenSIPS Founder and Developer
>>    http://www.opensips-solutions.com
>> On 09/25/2017 04:00 PM, Igor Olhovskiy wrote:
>>> Hi!
>>>
>>> I’m trying to implement scenario, when OpenSIPS would be a proxy for 
>>>  IP auth SIP side and username/pass auth other side.
>>> So, call scenario would be like
>>>
>>> 1. A -> INVITE -> OpenSIPS               B
>>> 2. A                       OpenSIPS -> INVITE       -> B
>>> 3. A                       OpenSIPS <-         401          <- B
>>> 4. A                       OpenSIPS -> INVITE (auth)  -> B
>>> 5. A                       OpenSIPS <-  200         <- B
>>> 6. A  <- 200 <-    OpenSIPS
>>>
>>> But the problem is in CSeq. On step 4, when sending INVITE with Auth 
>>> CSeq should be changed from original (usually incremented), but on 
>>> step 6, when replying back to A, it should be original.
>>>
>>> I didn’t found better solution, than to manually manipulate with 
>>> CSeq with append/remove headers.
>>> So, maybe there is more OpenSIPS - wise way of doing this?
>>>
>>> Regards, Igor
>>>
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.opensips.org
>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20170929/c05224c4/attachment.html>


More information about the Users mailing list