[Freeswitch-users] Exporting Diversion Header Twice

Sanjiv Kumar sanjiv at simple2call.com
Thu Apr 24 02:48:09 MSD 2014


 

I have tried following three options and I don’t multiple diversion header.

 

OPTION 1

If I use “push” application, I get the diversion field like below

Diversion: ARRAY::<sip:18005551212 at 10.10.10.10>;reason=user-busy;counter=3;privacy=off|:<sip:18005552323>;reason=no-answer;counter=1;privacy=off

 

<extension name="public_did">

    <condition field="destination_number" expression="^9999(\d{10})$">

 

         <action application="set" data="ocn=18005551212"/>

         <action application="set" data="rdn=18005552323"/>

 

         <action application="push" data="sip_h_Diversion =<sip:${ocn}@${network_addr} <sip:$%7bocn%7d@$%7bnetwork_addr%7d> >;reason=user-busy;counter=3;privacy=off"/>

         <action application="push" data="sip_h_Diversion =<sip:${rdn}@${network_addr} <sip:$%7brdn%7d@$%7bnetwork_addr%7d> >;reason=no-answer;counter=1;privacy=off"/>

      

         <action application="set" data="hangup_after_bridge=true" />

         <action application="set" data="continue_on_fail=true"/>

 

         <action application="transfer" data="1001 XML default"/>

    </condition>

</extension>

 

 

OPTION 2

If I use  export with “,” then I get the following results:

Diversion: <sip:19082302337 at 216.1.185.103>;reason=user-busy;counter=3;privacy=off,<sip:13216938059 at 216.1.185.103>;reason=no-answer;counter=1;privacy=off

 

<extension name="public_did">

    <condition field="destination_number" expression="^9999(\d{10})$">

 

         <action application="set" data="ocn=18005551212"/>

         <action application="set" data="rdn=18005552323"/>

 

         <action application="export" data="sip_h_Diversion =<sip:${ocn}@${network_addr} <sip:$%7bocn%7d@$%7bnetwork_addr%7d> >;reason=user-busy;counter=3;privacy=off,  <sip:${rdn}@${network_addr} <sip:$%7brdn%7d@$%7bnetwork_addr%7d> >;reason=no-answer;counter=1;privacy=off "/>

      

         <action application="set" data="hangup_after_bridge=true" />

         <action application="set" data="continue_on_fail=true"/>

 

         <action application="transfer" data="1001 XML default"/>

    </condition>

</extension>

 

 

OPTION 3

Setting a specific array element I get the following result

 

Diversion: ARRAY::<sip:19082302337 at 216.1.185.103>;reason=user-busy;counter=3;privacy=off}|:<sip:13216938059 at 216.1.185.103>;reason=no-answer;counter=1;privacy=off

<extension name="public_did">

    <condition field="destination_number" expression="^9999(\d{10})$">

 

         <action application="set" data="ocn=18005551212"/>

         <action application="set" data="rdn=18005552323"/>

 

         <action application="set" data="sip_h_Diversion[0] =<sip:${ocn}@${network_addr} <sip:$%7bocn%7d@$%7bnetwork_addr%7d> >;reason=user-busy;counter=3;privacy=off"/>

         <action application="set" data="sip_h_Diversion[1] =<sip:${rdn}@${network_addr} <sip:$%7brdn%7d@$%7bnetwork_addr%7d> >;reason=no-answer;counter=1;privacy=off"/>

      

         <action application="set" data="hangup_after_bridge=true" />

         <action application="set" data="continue_on_fail=true"/>

 

         <action application="transfer" data="1001 XML default"/>

    </condition>

</extension>

 

 

 

 

 

 

 

 

From: Steven Ayre [mailto:steveayre at gmail.com] 
Sent: Wednesday, April 23, 2014 5:56 AM
To: FreeSWITCH Users Help
Subject: Re: [Freeswitch-users] Exporting Diversion Header Twice

 

You could also try whether mod_sofia supports arrays for that variable

 

http://wiki.freeswitch.org/wiki/Dialplan_ARRAYS

 

 

On 23 April 2014 08:05, Dahlberg, David <david.dahlberg at fkie.fraunhofer.de> wrote:

Am Dienstag, den 22.04.2014, 12:40 -0400 schrieb Sanjiv Kumar:

> I am trying to export sip_h_Diversion header twice but I only see the
> last attempt on leg-B. It appears that second export attempt
> overwrites the first one.

[..]

>  <action application="export" data=" nolocal:sip_h_Diversion =<sip: <sip:%0b> 
>      ${ocn}@${network_addr}>;reason=user-busy;counter=3;privacy=off"/>
>  <action application="export" data=" nolocal:sip_h_Diversion =<sip: <sip:%0b> 
>     ${rdn}@${network_addr}>;reason=no-answer;counter=1;privacy=off"/>
>

(A) In Freeswitch/Sofia SIP you're not actually writing a header, but
you're writing a variable that in turn will tell mod_sofia to write a
header. If you write to the same variable a second time, you will
overwrite it.

(B) Sip (as good old RFC 822) allows for multiple headers in in multiple
formats. One possibility is actually adding multiple headers, the other
is having one header with multiple values, separated by comma.

So please try the following: Set the variable once, but with both
values, separated by comma. The result will be, that mod_sophia adds
indeed two separate headers.

Cheers
        David

--
David Dahlberg

Fraunhofer FKIE, Dept. Communication Systems (KOM) | Tel: +49-228-9435-845 <tel:%2B49-228-9435-845> 
Fraunhoferstr. 20, 53343 Wachtberg, Germany        | Fax: +49-228-856277 <tel:%2B49-228-856277> 
_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting at freeswitch.org
http://www.freeswitchsolutions.com




Official FreeSWITCH Sites
http://www.freeswitch.org
http://wiki.freeswitch.org
http://www.cluecon.com

FreeSWITCH-users mailing list
FreeSWITCH-users at lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20140423/7ffda400/attachment-0001.html 


Join us at ClueCon 2013 Aug 6-8, 2013
More information about the FreeSWITCH-users mailing list