Skip to main content

Provider Callcentric (USA)

Callcentric.com

Update: 23 June 2022 - Change domain from callcentric.com to sip.callcentric.net

Update: 26 March 2022 - Add ACL requirement

Note that the acl requirement started with FreeSWITCH 1.10.7 due to security changes in FreeSWITCH. Callcentric has tested without acl on FreeSWITCH 1.10.8 successfully. See issue #1511 for more information.

Callcentric has a Callcentric Freeswitch guide upon request. Although it may be slightly different from content here, this example is what was tested on a production system as of the date above.

conf/sip_profiles/external/callcentric.xml

<include>
<gateway name="callcentric.com">
<param name="realm" value="sip.callcentric.net"/>
<param name="proxy" value="sip.callcentric.net"/>
<param name="username" value="1777MYCCID"/>
<param name="password" value="SUPERSECRET"/>
<param name="expire-seconds" value="1800"/>
<param name="register" value="true"/>
<param name="retry-seconds" value="30"/>
<param name="gw-auth-acl" value="callcentric"/>
</gateway>
</include>

Callcentric IP addresses/subnets can be found on the Callcentric FAQ.

conf/autoload_configs/acl.conf.xml

    <list name="callcentric" default="allow">
<node type="allow" cidr="204.11.192.0/22"/> <!-- Use FAQ link above for latest info -->
<node type="allow" cidr="199.87.144.0/21"/>
</list>

conf/dialplan/public/callcentric_did.xml

<extension name="from_callcentric">
<condition field="${sip_to_user}" expression="^1777MYCCID$">
<action application="set" data="domain_name=$${domain}"/>
<action application="transfer" data="1000 XML default"/>
</condition>
</extension>

conf/dialplan/default/01_callcentric.com.xml

<extension name="Local Dial">
<condition field="destination_number" expression="^([0-9]{7})$">
<action application="set" data="effective_caller_id_name=YOURNAMEHERE"/>
<action application="set" data="effective_caller_id_number=YOURDIDHERE"/>
<!-- This allows 9 digit dialing to area code 206 for example -->
<action application="bridge" data="sofia/gateway/sip.callcentric.net/1206$1@sip.callcentric.net"/>
</condition>
</extension>

<extension name="Long Distance">
<condition field="destination_number" expression="^1?([2-9]\d{2}[2-9]\d{6})$">
<action application="set" data="effective_caller_id_name=YOURNAMEHERE"/>
<action application="set" data="effective_caller_id_number=YOURDIDHERE"/>
<action application="bridge" data="sofia/gateway/sip.callcentric.net/1$1"/>
</condition>
</extension>

The information below is many years old and likely obsolete. It has not been needed for some time.

If you notice that Cepstral is having problems with a ptime of 30 vs 20, and you're getting errors like this:

2009-03-13 18:13:28 [WARNING] mod_sofia.c:739 sofia_read_frame() We were told to use ptime 30 but what they meant to say was 20
This issue has so far been identified to happen on the following broken platforms/devices:
Linksys/Sipura aka Cisco
blah blah ...

You will need to set this in the sofia profile that you've configured to register with CallCentric:

<!-- There are two other options such as generous, greedy, but scrooge seems to work with CallCentric -->
<param name="inbound-codec-negotiation" value="scrooge"/>

DID Forwarding Works.

The fix below is no longer required! Left here in case it comes up for another provider.

In 2009 users had issues when making outbound calls using FreeSWITCH on CallCentric. The issue was usually a fast-busy, Call Rejected, or Proxy Auth Required. You could usually get 3 or so calls and then the next call might give one of those errors. CallCentric has fixed the issue with DNS Weight with their DNS SRV so the change below shouldn't be required, but if you do start to experience the above mentioned issues try this:

/usr/local/freeswitch/conf/sip_profiles/external.xml

 <param name="disable-srv" value="true" />