SIP Provider Examples

From FreeSWITCH Wiki

Jump to: navigation, search

Contents

Example Configuration

The following is a list of phone providers that have been successfully tested with the FreeSwitch software.

Informational Tip

Please note that you should stick with adding these phone providers under the {FreeSWITCH installation}/conf/directory/default/ location. This means creating an xml file per specified phone provider under the conf/directory/default/ directory. Alternatively, you can also add the provider of your choice under the {FreeSWITCH installation}/conf/sip_profiles/ directory. The recommendation is to stick with using the "conf/directory/default" location. When in doubt copy the examples found in the source code under freeswitch/conf/directory/default/. The sample file is named "provider.com.xml"


 

When adding a provider to this list within the wiki please observe these guidelines:

  • include a generic configuration
  • no marketing information
  • keep them alphabetically listed

Asterlink.com

Inbound and outbound works. US toll free provider.

File: conf/sip_profiles/external/asterlink.xml

<include>
      <gateway name="asterlink.com">
      <param name="username" value="USERNAME"/>
      <param name="password" value="PASSWORD"/>
      <param name="from-user" value="USERNAME"/>
      <param name="from-domain" value="asterlink.com"/>
      <param name="proxy" value="proxy-01.asterlink.com"/>
      <param name="expire-seconds" value="600"/>
      <param name="register" value="true"/>
      <param name="retry-seconds" value="30"/>
      <param name="extension" value="1000"/>
      <param name="context" value="public"/>
    </gateway>
</include>


AQL.com

Inbound and outbound works. UK provider.

File: conf/sip_profiles/external/aql.xml

<include>
  <gateway name="aql.com">
    <param name="username" value="61XXXX"/>
    <param name="password" value="XXXXX"/>
    <param name="realm" value="sip.aql.com"/>
    <param name="register" value="true"/>
  </gateway>
</include> 

Belcentrale.nl

Incoming and Outgoing works

In conf/directory/default/ (or default) create a file belcentrale.xml:

<include>
     <gateway name="belcentrale.nl">
        <param name="username" value="31XXXXXXXXX"/>
        <param name="realm" value="sip1.belcentrale.nl"/>
        <param name="password" value="your_password"/>
        <param name="register" value="true"/>
    </gateway>
</include>

then in sip_profiles/nat.xml (or default.xml when not using NAT) edit the setting for auth_calls and set to false: <param name="auth-calls" value="false"/>

DTMF does not seem to work with RFC2833. Had to set phone to use in-audio DTMF.

Broadvoice

Incoming and Outgoing works with UDP only

As of 12 February 2008 Broadvoice is not RFC 3261 compliant. Broadvoice does not support the usage of TCP within their SIP stack. This means you have to set the absolute_codec_string channel variable to PCMU.

  • Broadvoice has a funny DNS situation, use the following fix. (Broadvoice kept on returning 403 Forbidden messages until I modified my DNS entries within the hosts file)
    • This is according to the directions on broadvoice.com [1]
Ping the following, and choose the best time.
proxy.lax.broadvoice.com
proxy.dca.broadvoice.com
proxy.mia.broadvoice.com
proxy.atl.broadvoice.com
proxy.chi.broadvoice.com
proxy.bos.broadvoice.com
proxy.nyc.broadvoice.com

Modify your hosts (*nix world: /etc/hosts, windows: C:\Windows\System32\drivers\etc\hosts) file
with the correct IP address as follows:
{ip} sip.broadvoice.com
  • Chris 11:24, 31 January 2008 (EST) It was brought up on the IRC channel, Broadvoice apparently isn't following the SIP specifications for MTU packet sizes.
    • You will receive a 4xx error message unless you trim down the number of codecs contained in the UDP packets. By setting the absolute_codec_string channel variable to PCMU, you will play by their rules.
    • originate {absolute_codec_string=PCMU}sofia/gateway/broadvoice/12221231234 15551231234
    <include>
        <gateway name="broadvoice">
          <param name="username" value="5555551234"/>
          <param name="realm" value="BroadWorks"/>
          <param name="from-domain" value="sip.broadvoice.com"/>
          <param name="password" value="hackmybroadvoiceaccount"/>
          <param name="extension" value="5555551234"/>
          <param name="proxy" value="sip.broadvoice.com"/>
          <param name="expire-seconds" value="3600"/>
          <param name="register" value="true"/>
          <param name="retry-seconds" value="3600"/>
        </gateway>
    </include>

Callcentric

Forwarded DID works

forward did like 18005558355@freeswitch.org

NOTE: works in revision 5834 but not in 7785

I (kjv) never had the above work (today = September 2008) however with some help from the IRC channel we found that the following does work for routing incoming calls:

<extension name="from_callcentric">
        <condition field="${sip_to_user}" expression="^12345678901$">
                <action application="info"/>
                <!-- Insert other actions and anti actions here -->
        </condition>
</extension>

The application of "info" is merely an attempt to get other information from the incoming callcentric call that may be available.

To make outgoing calls: Create a profile:

<gateway name="callcentric.com">
  <param name="username" value="1**********"/>
  <param name="from-user" value="1*********"/>
  <param name="password" value="yourpassword"/>
</gateway>

In your dialplan default.xml

<extension name="Local Dial">
   <condition field="destination_number" expression="^([0-9]{7})$">
     <action application="set" data="effective_caller_id_name=John Freeswitch"/>
     <action application="set" data="effective_caller_id_number=8013739120"/>
     <action application="bridge" data="sofia/gateway/callcentric.com/1801$1@callcentric.com"/>
   </condition>
</extension>

I found this to work fine to make outgoing calls. Note: This is for local dial for areacode 801. You need to have a 1 in front of any number that you dial for US or else it will not work.

DIDX.NET

DID's work

forward did like 18005558355@freeswitch.org

Digisip

Incoming and Outgoing works. Digisip are one of the few SIP Providers that use both username and autherisation username when registering

  • Create the file /conf/directory/default/digisip.xml

Add the user:

<include>
  <gateway name="Digisip">
    <param name="username" value="<digisip username>"/>
    <param name="from-user" value="<digisip DID number>"/>
    <param name="password" value="<digisip password>"/>
    <param name="realm" value="proxy.digisip.net"/>
    <param name="proxy" value="proxy.digisip.net"/>
    <param name="register" value="true"/>
    <param name="expire-seconds" value="3600"/>
  </gateway>
</include>

Free World Dialup (FWD)

Incoming and Outgoing works

      <include>
        <gateway name="fwd">
          <param name="username" value="<fwd number>"/>
          <param name="from-domain" value="fwd.pulver.com"/>
          <param name="password" value="<super secret password>"/>
          <param name="extension" value="<fwd number>"/>
          <param name="realm" value="fwd.pulver.com"/>
          <param name="proxy" value="fwd.pulver.com"/>
          <param name="expire-seconds" value="3600"/>
          <param name="register" value="true"/>
          <param name="retry-seconds" value="3600"/>
        </gateway>
      </include>

Flowroute.com

DID works. Outgoing works.

      <include>
        <gateway name="flowroute">
          <param name="username" value="USERNAME"/>
          <param name="from-domain" value="sip.flowroute.com"/>
          <param name="password" value="PASSWORD"/>
          <param name="extension" value="USERNAME"/>
          <param name="realm" value="sip.flowroute.com"/>
          <param name="proxy" value="sip.flowroute.com"/>
          <param name="expire-seconds" value="3600"/>
          <param name="register" value="true"/>
          <param name="retry-seconds" value="3600"/>
        </gateway>
      </include>

FreeDigits.net

DID works, haven't tried outgoing

Example: conf/sip_profiles/external/freedigits.xml

 <include>
   <gateway name="freedigits.net">
     <param name="username" value="515*******"/>
     <param name="password" value="********"/>
     <param name="register-transport" value="udp"/>
     <param name="caller-id-in-from" value="false"/>
   </gateway>
 </include>

The user name and password are the phone number and password you receive in your registration email.

I routed it to extension 1001 with this: conf/dialplan/freedigits.xml

 <include>
   <context name="public">
     <extension name="freedigits.net">
       <condition field="destination_number" expression="^515*******$">
         <action application="transfer" data="1001 XML default"/>
       </condition>
     </extension>
   </context>
 </include>

The example on the wiki didn't include the <context> tag, and it wouldn't work until I added that.


Gafachi

Outgoing works well, I haven't tried a DID.

Example: /conf/sip_profiles/external/gafachi.xml

<include>
  <gateway name="sip.gafachi.com">
    <param name="username" value="<assigned username>"/>
    <param name="password" value="<assigned password>"/>
    <param name="register" value="true"/>
  </gateway>
</include>

Note: the username / password are provided inside your account, not the ones you use to login to your account.


Note: Gafachi requires that you *must* provide a valid caller id with each request, or the call will fail with a 604 error. Something like: [effective_caller_id_number=YOUR_NUMBER,effective_caller_id_name=YOUR_NAME]/sofia/gateway/sip.gafachi.com

Gizmo Project/sipphone.com

To prevent choppy audio problems from the network add the following to your 'config/sip_profiles/default.xml' settings section:

    <param name="supress-cng" value="true"/>

If you originate to this network and get long pauses before the call connects then uncomment the following in the same section: (This is no longer needed as they have fixed their SRV Records)

    <param name="bind-params" value="transport=udp"/>

Incoming error: nta: Via check: invalid transport "SIP/2.0/UDP" from 198.65.166.156:7070

Outgoing works

  • Create the file /conf/directory/default/gizmo.xml

Add the user:

      <include>
        <gateway name="gizmo">
          <param name="username" value="1747NXXXXXX"/>
          <param name="from-domain" value="proxy01.sipphone.com"/>
          <param name="password" value="YOUR PASSWORD"/>
          <!-- making it true will send caller ip instead which will result in 401. -->
          <param name="caller-id-in-from" value="false"/>
          <param name="proxy" value="proxy01.sipphone.com"/>
          <param name="expire-seconds" value="3600"/>
          <param name="register" value="true"/>
          <param name="retry-seconds" value="3600"/>
        </gateway>
      </include>

Inphonex

Works with incoming and outgoing SIP

Junction Networks

  • [junctionnetworks.com]
  • Works with incoming and outgoing SIP (Junction's PSTN Gateway service).
  • Edited within conf/directory/default/junctionnetworks.xml
      <include>
         <gateway name="junctionnetworks">
           <param name="username" value="YOUR JUNCTION USERNAME HERE"/>
           <param name="realm" value="jnctn.net"/>
           <param name="password" value="YOUR JUNCTION VOIP PASSWORD HERE"/>
           <param name="extension" value="YOUR JUNCTION DID HERE"/>
           <param name="proxy" value="sip.jnctn.net"/>
           <param name="expire-seconds" value="3600"/>
         </gateway>
      </include>

Les.Net


<include>
  <gateway name="did.voip.les.net">
    <param name="username" value="166xxxxxxx"/>
    <param name="from-user" value="166xxxxxxx"/>
    <param name="realm" value="did.voip.les.net"/>
    <param name="password" value="secret"/>
  </gateway>
</include>

MixMeeting

Don’t use a gateway config with mixmeeting.

  • Outbound works
  • Just app=”bridge” data=”sofia/profile/18005551212@mixmeetings.gateway.ip”


Metrostat

MyNetFone

Incoming and outgoing calls work. In conf/sip_profiles/outbound/ create a mynetfone.xml file with the following contents:

<include>
  <gateway name="MyNetFone">
    <param name="username" value="xxxxxxxx"/>
    <param name="password" value="xxxxxxxx"/>
    <param name="realm" value="sip00.mynetfone.com.au"/>
    <param name="proxy" value="sip00.mynetfone.com.au"/>
    <param name="register" value="true"/>
  </gateway>
</include>

PennyTel

Incoming and outgoing calls work. In conf/sip_profiles/outbound/ create a pennytel.xml file with the following contents:

<include>
  <gateway name="PennyTel">
    <param name="username" value="61xxxxxxxxx"/>
    <param name="password" value="xxxxxxxx"/>
    <param name="realm" value="sip.pennytel.com"/>
    <param name="proxy" value="sip.pennytel.com"/>
    <param name="register" value="true"/>
  </gateway>
</include>

Sipgate.de

Works with incoming and outgoing SIP calls.

<include>
  <gateway name="sipgate.de">
    <param name="proxy" value="sipgate.de"/>
    <param name="username" value="your_usernumber"/>
    <param name="password" value="your_password"/>
    <param name="extension" value="extension_that _should_be_called_in_your_dialplan"/>
  </gateway>
</include>

Talklite

Talklite examples are now broken. It was bought or merged with another company. Talklite no longer supports registration and requires a static IP for its customers.

Outbound Gateway

<include>
  <user id="MYUSER">
    <gateways>
      <gateway name="g711.talklite.net">
      <param name="username" value="MYUSER"/>
      <param name="password" value="MYPASS"/>
      <param name="from-user" value="MYUSER"/>
      <param name="proxy" value="g711.talklite.net"/>
      <param name="realm" value="talklite.net"/>
      <param name="from-domain" value="talklite.net"/>
      <param name="register" value="true"/>       
      <param name="expire-seconds" value="600"/>
      <param name="register" value="false"/>
      <param name="retry-seconds" value="30"/>
      <param name="context" value="public"/>
      </gateway>
    </gateways>
    <params>
      <param name="password" value="MYPASS"/>
    </params>
  </user>
</include>

Inbound Gateway

<include>
  <user id="MYUSER">
    <gateways>
      <gateway name="inbound.talklite.net">
      <param name="username" value="MYUSER"/>
      <param name="password" value="MYPASS"/>
      <param name="from-user" value="MYUSER"/>
      <param name="proxy" value="inbound.talklite.net"/>
      <param name="realm" value="talklite.net"/>
      <param name="from-domain" value="talklite.net"/>
      <param name="register" value="true"/>       
      <param name="expire-seconds" value="600"/>
      <param name="register" value="false"/>
      <param name="retry-seconds" value="30"/>
      <param name="context" value="public"/>
      </gateway>
    </gateways>
    <params>
      <param name="password" value="MYPASS"/>
    </params>
  </user>
</include>

This example does not register the gateway. Not sure if this example still works.

<include> 
   <gateway name="talklite.net">
       <param name="username" value="MYUSER"/>
       <param name="password" value="MYPASS"/>
       <param name="from-user" value="MYUSER"/>
       <param name="proxy" value="vps.talklite.net"/>
       <param name="extension" value="inbound"/>
       <param name="realm" value="talklite.net"/>
       <param name="from-domain" value="talklite.net"/>
       <param name="register" value="false"/>
   </gateway>
</include>

Teliax

  • [teliax.com]
  • Works with incoming and outgoing SIP.
  • Added within conf/sip_profiles/external/teliax.xml
<include>
     <gateway name="teliax">
        <param name="username" value="Your Username"/>
        <!-- Add in your teliax realm here, follow the instructions on the teliax website -->
        <param name="realm" value="atl.teliax.net"/>
        <param name="password" value="Your Password"/>
    </gateway>
</include>
  • You may need to change your realm to a different Teliax server other than atl.teliax.net.

ViaTalk

inbound and outbound

dialplan/default.xml(the snippet below is for 11 and 10 digit dialing)

 <extension name="Long Distance">
   <condition field="destination_number" expression="^(1{0,1}\d{10})$">
   <action application="bridge" data="sofia/gateway/viatalk/$1"/>
   </condition>
 </extension>

sip_profiles/external/viatalk.xml

 <include>
   <gateway name="Viatalk">
    <param name="username" value="1Xxxxxxxxxx" /> 
    <param name="password" value="XXXXXXXXX" /> 
    <param name="realm" value="chicago-1a.vtnoc.net" /> 
    <param name="proxy" value="chicago-1a.vtnoc.net" /> 
    <param name="register" value="true" /> 
   </gateway>
 </include>

--JulianL 02:29, 21 August 2008 (EDT)

Vitelity

	<include>
	<gateway name="vitelity">
           <!--/// account username *required* ///-->
           <param name="username" value="your-username"/>
           <!--/// auth realm: *optional* same as gateway name, if blank ///-->
           <param name="realm" value="vitel-outbound"/>
           <!--/// account password *required* ///-->
           <param name="password" value="your-password"/>
           <!--/// extension for inbound calls: *optional* same as username, if blank ///-->
           <param name="extension" value="default"/>
           <!--/// proxy host: *optional* same as realm, if blank ///-->
           <param name="proxy" value="outbound1.vitelity.net"/>
           <!--/// expire in seconds: *optional* 3600, if blank ///-->
           <param name="expire-seconds" value="600"/>
         </gateway>
	</include>

VoiceMeUp

  • [VoiceMeUp.com]
  • Nationwide DID and Tollfree coverage
  • Works with incoming and outgoing SIP.
  • conf/sip_profiles/PROFILE_NAME/voicemeup.xml
<include>
    <gateway name="voicemeup">
	<param name="realm" value="sip.voicemeup.com"/>
	<param name="proxy" value="sip.voicemeup.com"/>
	<param name="username" value="PEER_USERNAME"/>
	<param name="password" value="PEER_PASSWORD"/>
    </gateway>
</include>

Voicepulse East Coast

<include>
<!-- East Coast gateways -->
  <gateway name="voicepulse">
    <param name="username" value="''your-username''"/>
    <param name="realm" value="jfk-primary.voicepulse.com"/>
    <param name="password" value="''your-password''"/>
    <param name="proxy" value="jfk-primary.voicepulse.com"/>
    <param name="expire-seconds" value="600"/>
    <param name="register" value="true"/>
  </gateway>
  <gateway name="voicepulse-backup">
    <param name="username" value="''your-username''"/>
    <param name="realm" value="jfk-backup.voicepulse.com"/>
    <param name="password" value="''your-password''"/>
    <param name="extension" value="1NXXNXXXXXX"/>
    <param name="proxy" value="jfk-backup.voicepulse.com"/>
    <param name="expire-seconds" value="600"/>
    <param name="register" value="true"/>
  </gateway>
</include>

Voicepulse West Coast

<include>
<!-- West Coast gateways -->
  <gateway name="voicepulse">
    <param name="username" value="''your-username''"/>
    <param name="realm" value="sjc-primary.voicepulse.com"/>
    <param name="password" value="''your-password''"/>
    <param name="proxy" value="sjc-primary.voicepulse.com"/>
    <param name="expire-seconds" value="600"/>
    <param name="register" value="true"/>
  </gateway>
  <gateway name="voicepulse-backup">
    <param name="username" value="''your-username''"/>
    <param name="realm" value="sjc-backup.voicepulse.com"/>
    <param name="password" value="''your-password''"/>
    <param name="extension" value="1NXXNXXXXXX"/>
    <param name="proxy" value="sjc-backup.voicepulse.com"/>
    <param name="expire-seconds" value="600"/>
    <param name="register" value="true"/>
  </gateway>
</include>

Voicepulse Warning

WARNING!!! Recent changes (Sep 2008) in VoicePulse have limited connect03 to only IAX termination. Please remove any entries that you may have reflecting the gateway below from your dialplan as it will most likely answer the call and play a message saying something to the effect of "Your call could not be completed as dialed because we changed our production environment in an effort to demonstrate what bad engineering is all about. BAD is an acronymn for Broken As Designed. Please hang up and make changes on all your switches. Even though we shouldn't have answered the call and simply ignored it entirely so that another gateway could facilitate your call, we FELT it wise to seriously inconvenience you by answering the call immediately giving no other gateway a chance to place the call. Thanks for using our service and we look forward to abusing you again in the near future.

<include>
<!-- As of September 2008 connect03 is used only as IAX - Disregard this below -->
  <gateway name="connect03.voicepulse.com">
    <param name="username" value="''your-username''"/>
    <param name="realm" value="connect03.voicepulse.com"/>
    <param name="password" value="''your-password''"/>
    <param name="extension" value="1NXXNXXXXXX"/>
    <param name="proxy" value="connect03.voicepulse.com"/>
    <param name="expire-seconds" value="600"/>
    <param name="register" value="true"/>
  </gateway>
<!-- As of September 2008 connect03 is used only as IAX - Disregard this entry above -->
</include>

You should check here for detailed information on VoicePulse.

Be advised: Replace nyc-primary.voicepulse.com and nyc-backup.voicepulse.com with the appropriate jfk or sjc hostnames and to disregard/remove connect03.voicepulse.com completely. You have been warned.

A script for doing real-time rating using Voicepulse's FlexRATE. Examples_voicepulse_rate

Be advised: Replace nyc-primary.voicepulse.com and nyc-backup.voicepulse.com with the appropriate jfk or sjc hostnames and to disregard/remove connect03.voicepulse.com completely. You have been warned.

Vonage Business Plus

  • Vonage normally doesn't offer a SIP service, but they do offer through resellers a product called "Vonage Business Plus", you can do some google searches to find a reseller fairly easily.
  • Added the following in conf/sip_profiles/external/vonage.xml
<include>
  <gateway name="sphone1.voncp.com">
    <param name="username" value="15555551212"/> 
    <param name="password" value="<Your Password>"/>-->
  </gateway>
</include>


Yahoo! Messenger

Place holder for now. Information gathered so far

  • TCP SIP signalling
  • sip.yahoo.com port 5061 appears to be correct
  • speex is the reported codec by some that it uses, the SDP should be looked at to give a list of all they support.
  • no SRV records that I could find

See Also

Providers (deprecated, and probably soon to be removed)

Personal tools
Community