We’d like to match on either Caller ID or ANI for outbound faxes and lock them to PCMU.

 

Here’s what we’ve been using:

 

<extension name="FAX-LCL-7D">

   <condition field="caller_id_number" expression="^XXXXXXXXXX$"/>

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

       <action application="export" data="sip_append_audio_sdp=a=fmtp:18 annexb=no"/>

       <action application="export" data="nolocal:absolute_codec_string=PCMU"/>

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

       <action application="bridge" data="sofia/external/$0@X.X.X.X"/>

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

       <action application="set" data="ringback=${us-ring}"/>

   </condition>

</extension>

 

If we use a list and break=on-false, searching stops after the first non-match. If we use break=on-true, it stops after the first match, and we get no digits to send upstream. If we use break=never, it applies the digit match to all numbers, regardless of Caller ID. I realize this is all normal behavior.

 

Is there a way to sort through a list of Caller ID’s, match one, and then match the outbound digits? We’re trying to avoid having to create a dial-plan entry for every Caller ID.

 

Here’s what it *might* look like with multiple internal fax lines:

 

<extension name="FAX-LCL-7D">

   <condition field="caller_id_number" expression="^XXXXXXXXXX$"/>

   <condition field="caller_id_number" expression="^XXXXXXXXXX$"/>

   <condition field="caller_id_number" expression="^XXXXXXXXXX$"/>

   <condition field="caller_id_number" expression="^XXXXXXXXXX$"/>

   <condition field="caller_id_number" expression="^XXXXXXXXXX$"/>

   <condition field="caller_id_number" expression="^XXXXXXXXXX$"/>

   <condition field="caller_id_number" expression="^XXXXXXXXXX$"/>

   <condition field="caller_id_number" expression="^XXXXXXXXXX$"/>

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

       <action application="export" data="sip_append_audio_sdp=a=fmtp:18 annexb=no"/>

       <action application="export" data="nolocal:absolute_codec_string=PCMU"/>

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

       <action application="bridge" data="sofia/external/$0@X.X.X.X"/>

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

       <action application="set" data="ringback=${us-ring}"/>

   </condition>

</extension>

 

 

Thanks,

 

Ken Fulmer