V10 SP2 Custom Outbound Caller ID Issue

Discussion in '3CX Phone System - General' started by spike711, Aug 7, 2011.

Thread Status:
Not open for further replies.
  1. spike711

    Joined:
    Jan 5, 2009
    Messages:
    11
    Likes Received:
    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
     
  2. spike711

    Joined:
    Jan 5, 2009
    Messages:
    11
    Likes Received:
    0
    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.
     
  3. spike711

    Joined:
    Jan 5, 2009
    Messages:
    11
    Likes Received:
    0
    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:10006@10.0.40.2: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:%1@10.0.40.2: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:10006@10.0.40.2: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:%1@10.0.40.2: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>
     
Thread Status:
Not open for further replies.