[OpenSIPS-Users] variable "counter" parameter to diversion Header
Mickael HUBERT
mickael at winlux.fr
Fri May 3 14:00:33 CEST 2013
Hi,
it's ok now, I've delete all headers and after write news.
my code:
/route[diversion]//
//{//
// if(is_present_hf("Diversion"))//
// {//
//
// if($(hdrcnt(Diversion)) > 5)//
// {//
// xlog("L_INFO","Diversion header = $(hdrcnt(Diversion)) is
> 5, hungup call\n");//
// sl_send_reply("482","Loop Detected");//
// exit;//
// }//
//
// $var(i) = 0;//
// $var(sumcounter) = 0;//
///*remove_hf("Diversion");*/
// while ($var(i) < $(hdrcnt(Diversion)))//
// {//
// xlog("L_INFO"," dip:
$(hdr(Diversion)[$var(i)]{param.value,privacy}) \ dir:
$(hdr(Diversion)[$var(i)]{param.value,reason}) \ counter:
$(hdr(Diversion)[$var(i)]{param.value,counter}{s.int}) \ di:
$(hdr(Diversion)[$var(i)]{nameaddr.uri}) \ number of Diversion header :
$(hdrcnt(Diversion))\n");//
//
//if(!$(hdr(Diversion)[$var(i)]{param.value,counter}{s.int}))//
// {//
// $var(counter) = 1;//
// $var(sumcounter) = $var(sumcounter) + $var(counter);//
// }//
// else//
// {//
// $var(counter) =
$(hdr(Diversion)[$var(i)]{param.value,counter}{s.int});//
// $var(sumcounter) = $var(sumcounter) +
$(hdr(Diversion)[$var(i)]{param.value,counter}{s.int});//
// }//
//
//if(!$(hdr(Diversion)[$var(i)]{param.value,privacy}))//
// {//
// $var(privacy) = "off";//
// }//
// else//
// {//
// $var(privacy) =
$(hdr(Diversion)[$var(i)]{param.value,privacy});//
// }//
//
//if(!$(hdr(Diversion)[$var(i)]{param.value,reason}))//
// {//
// $var(reason) = "unknown";//
// }//
// else//
// else//
// {//
// $var(reason) =
$(hdr(Diversion)[$var(i)]{param.value,reason});//
// }//
//
// xlog("L_INFO","$ci Remove Diversion Header and add
Diversion header with counter=$var(counter)\n");////
// append_hf("Diversion:
<$(hdr(Diversion)[$var(i)]{nameaddr.uri})>;reason=$var(reason);privacy=$var(privacy);counter=$var(counter)\r\n");
//
//
// $var(i) = $var(i) + 1;//
// }//
//
// if($var(sumcounter) > 5)//
// {//
// xlog("L_INFO","Diversion header = Sum Counter is
$var(sumcounter) > 5, hungup call\n");//
// sl_send_reply("482","Loop Detected");//
// exit;//
// }//
// }//
// return;//
//}/
Le 03/05/2013 13:23, Răzvan Crainea a écrit :
> Hi, Mickael!
>
> remove_hf() removes all headers, so it should remove both first and
> the second one. Then you can simply add a new header(using append_hf()
> function[1]) with the desired information.
>
> [1]
> http://www.opensips.org/html/docs/modules/1.9.x/sipmsgops.html#id249181
>
> Best regards,
>
> Razvan Crainea
> OpenSIPS Core Developer
> http://www.opensips-solutions.com
>
> On 05/03/2013 10:58 AM, Mickael HUBERT wrote:
>> some details:
>>
>> remove_hf delete all Diversion header, how can I delete or rewrite good
>> header ?
>>
>> Le 03/05/2013 10:48, Mickael HUBERT a écrit :
>>> Hi,
>>> I have coded with while for treat all diversion headers.
>>>
>>> Ex:
>>> ....
>>> /while ($var(i) < $(hdrcnt(Diversion)))//
>>> //{//
>>> //if(!$(hdr(Diversion)[$var(i)]{param.value,counter}{s.int}) ||
>>> !$(hdr(Diversion)[$var(i)]{param.value,privacy}) ||
>>> !$(hdr(Diversion)[$var(i)]{param.value,reason}))//
>>> // {//
>>> // ..../
>>>
>>> after all these treatments, I can not replace the good diversion
>>> header, if I have multiple diversion.
>>>
>>> Ex:
>>> If I have:
>>>
>>> /Diversion: <sip:******@hexanet.fr>; reason="user-busy";
>>> privacy="full" ;counter=3//
>>> //Diversion: <sip:******@hexanet.fr>; reason="user-busy";
>>> privacy="off"/
>>>
>>> and if I use:
>>> remove_hf("Diversion"), to rewrite the second diversion header.
>>> Opensips delete the first diversion header.
>>>
>>> How can I rewrite the good diversion header, here the second ?
>>>
>>> thanks
>>>
>>> Le 02/05/2013 19:21, Saúl Ibarra Corretgé a écrit :
>>>> On May 2, 2013, at 4:20 PM, Mickael HUBERT wrote:
>>>>
>>>>> Thank you very much, it's perfect ;)
>>>>>
>>>>> but, if I have many Diversion header in the same INVITE ? This
>>>>> command works ?
>>>>>
>>>> You can index the call to hdr(Diversion), IIRC there is an example
>>>> in the transformations page showing how to iterate through a list
>>>> of headers with the same name.
>>>>
>>>> --
>>>> Saúl Ibarra Corretgé
>>>> AG Projects
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Users mailing list
>>>> Users at lists.opensips.org
>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>
>>>
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.opensips.org
>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.opensips.org
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>
> _______________________________________________
> 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/20130503/0e21104b/attachment.htm>
More information about the Users
mailing list