V10 SP2 Custom Outbound Caller ID Issue

Status
Not open for further replies.

spike711

Joined
Jan 5, 2009
Messages
11
Reaction score
0
It appears that Custom Outbound Caller ID has stopped working after SP2. Connection to Telco is by Sangoma A101D/Netborder. I have verified with Telco that Calling ID is not being transmitted.
Also, at the same time system was upgraded to SP2 the system key was changed from Demo to Paid.
Sangoma "routing-rules.xml" has not been changed from previous working configuration.
The feature was working perfect as Demo system before SP2 update.
Any Ideas?
Thx,
Spike
 
More Info: I uninstalled Netborder and reinstalled. Before copying the routing rules from 3CX into the Netborder "config" directory the custom outbound Caller ID worked. However, with the default Netborder installed rules inbound calls received a busy signal.
Once I copied the 3CX rules, inbound started working and custom outbound caller ID stopped.
It appears a rule is missing.
Help is appreciated.
 
Problem solved but I need someone who is a rule expert to look at my routing-rules.xml file to see if I have made any entries that might cause issues down the road. I got the custom outbound caller id working by copying some parameters from the sangoma generated file into the 3CX generated file. I'm not sure which entry(s) made the difference.
Here is text from the original 3CX file and the working version I ceated. I have made bold the changes in the edited file.
3CX GENERATED FILE:
<?xml version="1.0" encoding="utf-8"?>
<routing_rules>

<!-- SIP OUT TO sip:localhost:5060 -->
<rule name="default_sip_out" outbound_interface="sip" qvalue="0.001">
<condition param="transfer" expr="false"/>
<condition param="pstn.in.channelName" expr=".*"/>
<condition param="pstn.in.ani" expr="(.*)"/>
<condition param="pstn.in.dnis" expr="([0-9]*)"/>
<condition param="pstn.in.callerName" expr="([0-9a-zA-Z]+)"/>
<out_leg name="" media_type="sendrecv">
<!-- To modify the target SIP destination, just change the value below -->
<param name="sip.out.requestUri" expr="sip:[email protected]:5060"/>
<param name="sip.out.from.uri" expr="sip:%0@GW_HOST_IP:GW_SIP_PORT"/>
<param name="sip.out.from.displayName" expr="%2"/>
<param name="sip.out.to.uri" expr="sip:%[email protected]:5060"/>
<param name="sip.out.to.displayName" expr="%1"/>
<param name="sip.out.transport" expr="udp"/>
</out_leg>
</rule>

<!-- PSTN OUT -->
<rule name="default_pstn_out_with_from_display_name" outbound_interface="pstn" qvalue="0.001">
<condition param="transfer" expr="false"/>
<condition param="sip.in.requestUri.canonical" expr="sip:([0-9]+)@GW_HOST_IP:GW_SIP_PORT"/>
<condition param="sip.in.from.displayName" expr="([0-9a-zA-Z]+)"/>
<out_leg name="" media_type="sendrecv">
<param name="pstn.out.phoneNumber" expr="%0"/>
<param name="pstn.out.deviceGroup" expr="default"/>
<param name="pstn.out.cpa.enable" expr="false"/>
<param name="pstn.out.ani" expr="%1"/>
</out_leg>
</rule>

<rule name="default_pstn_out_without_from_display_name" outbound_interface="pstn" qvalue="0.001">
<condition param="transfer" expr="false"/>
<condition param="sip.in.requestUri.canonical" expr="sip:([0-9]+)@GW_HOST_IP:GW_SIP_PORT"/>
<out_leg name="" media_type="sendrecv">
<param name="pstn.out.phoneNumber" expr="%0"/>
<param name="pstn.out.deviceGroup" expr="default"/>
<param name="pstn.out.cpa.enable" expr="false"/>
</out_leg>
</rule>

<rule name="redirect_to_sip" outbound_interface="sip" qvalue="0.1">
<condition param="sip.in.redirect.Contact" expr="(.*)"/>
<out_leg name="" media_type="sendrecv">
<param name="sip.out.redirect.Contact" expr="%0"/>
</out_leg>
</rule>

<rule name="redirect_to_pstn" outbound_interface="pstn" qvalue="0.2">
<condition param="sip.in.redirect.Contact" expr="^Contact:.*sip:([0-9]+)@GW_HOST_IP:GW_SIP_PORT"/>
<out_leg name="" media_type="sendrecv">
<param name="pstn.out.phoneNumber" expr="%0"/>
<param name="pstn.out.deviceGroup" expr="default"/>
</out_leg>
</rule>

<!-- SIP to SIP transfer, results in a SIP bridged transfer on the gateway if
transfer target is the gateway and no other transfer rule matches -->
<rule name="sip_to_sip_transfer" outbound_interface="sip" qvalue="0.001">
<condition param="transfer" expr="true"/>
<condition param="sip.in.referTo" expr="(?U)(.*)(?:;|\?|$)"/>
<condition param="sip.in.from.uri" expr="(.*)"/>
<out_leg name="" media_type="sendrecv">
<param name="sip.out.requestUri" expr="%0"/>
<!-- echoing "from" fields of the REFER request -->
<param name="sip.out.from.uri" expr="%1"/>
</out_leg>
</rule>

<!-- PSTN (CTBus/SCBus/Internal audio switch) bridge -->
<rule name="default_pstn_bridge_transfer" outbound_interface="pstn" qvalue="0.01">
<condition param="transfer" expr="true"/>
<condition param="sip.in.referTo.canonical" expr="sip:([0-9]+)@GW_HOST_IP:GW_SIP_PORT"/>
<out_leg name="" media_type="sendrecv">
<param name="pstn.out.phoneNumber" expr="%0"/>
<param name="pstn.out.deviceGroup" expr="default"/>
<param name="pstn.out.transfer.type" expr="2channel-bridged"/>
<param name="pstn.out.transfer.supervision" expr="connect"/>
<param name="pstn.out.transfer.timeoutMs" expr="30000"/>
<param name="paraxip.gw.ringTimeoutMs" expr="0"/>
<param name="paraxip.gw.connectionTimeoutMs" expr="0"/>
</out_leg>
</rule>

</routing_rules>

EDITED VERSION THAT WORKS:

<?xml version="1.0" encoding="utf-8"?>
<routing_rules>

<!-- SIP OUT TO sip:localhost:5060 -->
<rule name="default_sip_out" outbound_interface="sip" qvalue="0.001">
<condition param="transfer" expr="false"/>
<condition param="pstn.in.channelName" expr=".*"/>
<condition param="pstn.in.ani" expr="(.*)"/>
<condition param="pstn.in.dnis" expr="([0-9]*)"/>
<condition param="pstn.in.callerName" expr="([0-9a-zA-Z]+)"/>
<out_leg name="" media_type="sendrecv">
<!-- To modify the target SIP destination, just change the value below -->
<param name="sip.out.requestUri" expr="sip:[email protected]:5060"/>
<param name="sip.out.from.uri" expr="sip:%0@GW_HOST_IP:GW_SIP_PORT"/>
<param name="sip.out.from.displayName" expr="%2"/>
<param name="sip.out.to.uri" expr="sip:%[email protected]:5060"/>
<param name="sip.out.to.displayName" expr="%1"/>
<param name="sip.out.transport" expr="udp"/>
</out_leg>
</rule>

<!-- PSTN OUT -->
<rule name="default_pstn_out_with_from_display_name" outbound_interface="pstn" qvalue="0.001">
<condition param="transfer" expr="false"/>
<condition param="sip.in.requestUri.canonical" expr="sip:([0-9]+)@GW_HOST_IP:GW_SIP_PORT"/>
<condition param="sip.in.from.displayName" expr="([0-9a-zA-Z]+)"/>
<condition param="sip.in.from.uri.canonical" expr="sip:([0-9]+)@GW_HOST_IP:GW_SIP_PORT"/>
<out_leg name="" media_type="sendrecv">
<param name="pstn.out.phoneNumber" expr="%0"/>
<param name="pstn.out.deviceGroup" expr="default"/>
<param name="pstn.out.phoneNumber.type" expr="0"/>
<param name="pstn.out.phoneNumber.numberingPlan" expr="1"/>

<param name="pstn.out.cpa.enable" expr="false"/>
<param name="pstn.out.ani" expr="%2"/>
<param name="pstn.out.ani.type" expr="0"/>
<param name="pstn.out.ani.numberingPlan" expr="1"/>
<param name="pstn.out.channelGroup" expr="default"/>
<param name="pstn.out.callerName" expr="%1"/>

</out_leg>
</rule>

<rule name="default_pstn_out_without_from_display_name" outbound_interface="pstn" qvalue="0.001">
<condition param="transfer" expr="false"/>
<condition param="sip.in.requestUri.canonical" expr="sip:([0-9]+)@GW_HOST_IP:GW_SIP_PORT"/>
<out_leg name="" media_type="sendrecv">
<param name="pstn.out.phoneNumber" expr="%0"/>
<param name="pstn.out.phoneNumber.type" expr="0"/>
<param name="pstn.out.phoneNumber.numberingPlan" expr="1"/>

<param name="pstn.out.deviceGroup" expr="default"/>
<param name="pstn.out.cpa.enable" expr="false"/>
<param name="pstn.out.channelGroup" expr="default"/>

</out_leg>
</rule>

<rule name="redirect_to_sip" outbound_interface="sip" qvalue="0.1">
<condition param="sip.in.redirect.Contact" expr="(.*)"/>
<out_leg name="" media_type="sendrecv">
<param name="sip.out.redirect.Contact" expr="%0"/>
</out_leg>
</rule>

<rule name="redirect_to_pstn" outbound_interface="pstn" qvalue="0.2">
<condition param="sip.in.redirect.Contact" expr="^Contact:.*sip:([0-9]+)@GW_HOST_IP:GW_SIP_PORT"/>
<out_leg name="" media_type="sendrecv">
<param name="pstn.out.channelGroup" expr="default" />
<param name="pstn.out.phoneNumber" expr="%0"/>
<param name="pstn.out.phoneNumber.type" expr="0" />
<param name="pstn.out.phoneNumber.numberingPlan" expr="1" />

<param name="pstn.out.deviceGroup" expr="default"/>
</out_leg>
</rule>

<!-- SIP to SIP transfer, results in a SIP bridged transfer on the gateway if
transfer target is the gateway and no other transfer rule matches -->
<rule name="sip_to_sip_transfer" outbound_interface="sip" qvalue="0.001">
<condition param="transfer" expr="true"/>
<condition param="sip.in.referTo" expr="(?U)(.*)(?:;|\?|$)"/>
<condition param="sip.in.from.uri" expr="(.*)"/>
<out_leg name="" media_type="sendrecv">
<param name="sip.out.requestUri" expr="%0"/>
<!-- echoing "from" fields of the REFER request -->
<param name="sip.out.from.uri" expr="%1"/>
</out_leg>
</rule>

<!-- PSTN (CTBus/SCBus/Internal audio switch) bridge -->
<rule name="default_pstn_bridge_transfer" outbound_interface="pstn" qvalue="0.01">
<condition param="transfer" expr="true"/>
<condition param="sip.in.referTo.canonical" expr="sip:([0-9]+)@GW_HOST_IP:GW_SIP_PORT"/>
<out_leg name="" media_type="sendrecv">
<param name="pstn.out.phoneNumber" expr="%0"/>
<param name="pstn.out.deviceGroup" expr="default"/>
<param name="pstn.out.transfer.type" expr="2channel-bridged"/>
<param name="pstn.out.transfer.supervision" expr="connect"/>
<param name="pstn.out.transfer.timeoutMs" expr="30000"/>
<param name="paraxip.gw.ringTimeoutMs" expr="0"/>
<param name="paraxip.gw.connectionTimeoutMs" expr="0"/>
</out_leg>
</rule>

</routing_rules>
 
Status
Not open for further replies.

Latest Posts

Members Online Now

Forum statistics

Threads
111,861
Messages
589,440
Members
164,701
Latest member
yarusemiKK