Follow

FreeSwitch Configuration for OnSIP Trunking

Prerequisites

Step 1: Gather information for the OnSIP Trunking User

You will need the following information from the OnSIP Trunking User in the Admin portal:

  • Username
  • Auth Username
  • SIP Password
  • Domain

You can find this information in the user detail pages under the Users tab in the Phone Configuration section.

Step 2: Create an OnSIP Trunking user profile with OnSIP Trunking details

In your $PREFIX/freeswitch/conf/sip_profiles/external/ directory create a file
such as "onsip-trunk.xml" and populate the following parameters with your OnSIP Trunking credentials, for example:

<include>
     <!--gateway name required, you will use this in the outbound dialplan -->
       <gateway name="onsip-trunk.com">
         <!--/// set to onsip auth_username ///-->
         <param name="username" value="example_hiro"/>
         <!--/// set to onsip user_name ///-->
         <param name="from-user" value="hiro"/>
         <!--/// set to onsip domain ///-->
         <param name="from-domain" value="example.onsip.com"/>
         <param name="realm" value="example.onsip.com"/>
         <!--/// set to onsip password ///-->
         <param name="password" value="VPG3hockrifv"/>
         <!--/// *optional* set to your inbound extension ///-->
         <param name="extension" value="15135555555"/>
         <!--/// don't change these ///-->
         <param name="outbound-proxy" value="sip.onsip.com"/>
         <param name="expire-seconds" value="3600"/>
         <param name="caller-id-in-from" value="true"/>
         <!--/// if behind weird firewall, uncomment : ///-->
         <!--<param name="ping" value="25"/>-->
      </gateway>
</include>

Save and exit your "onsip-trunk.xml" file.
Reload mod_sofia with the new OnSIP Trunk details using reload mod_sofia from the FreeSwitch cli.

Verify registration from the FreeSwitch cli by typing:
sofia status

Step 3: Edit your outbound dialplan in the $PREFIX/conf/dialplan/ directory with outbound dialing modifications.

In your outbound dialplan set the outbound CallerID name and append "000" as a prefix to all outbound calls.

  • The outbound "From:" section of an outbound SIP Invite request should look like this:
    From: "15135555555" <sip:hiro@example.onsip.com >;tag=as04cfd8df

    Where 15135555555 is your inbound DID.

    This can generally be accomplished by a line such as:
    <action application="set" data="effective_caller_id_name=15135555555"/>

  • The outbound invite header should look like this :
    INVITE sip:00012125555555@sip.onsip.com SIP/2.0

    Where “1 212 555 5555” is the outbound telephone number you wish to reach.

    This can generally be accomplished by a line such as:
    <action application="bridge" data="sofia/gateway/onsip-trunk.com/000$1"/>

Where "onsip-trunk.com" is a defined and registered external gateway.

Here is a sample configuration :

<include>
  <extension name="domestic.example.com">
    <!-- The following line detects 11 digit outbound calls -->
    <condition field="destination_number" expression="^(\d{11})$">
      <!-- This sets the outbound Caller ID as "15135555555"-->
      <action application="set" data="effective_caller_id_name=15135555555"/>
      <!-- This sets the outbound gateway as "onsip-trunk.com" , 
           which was defined in your OnSIP Trunking user profile  
           as the "gateway name" parameter.                       
           We've also appended the "000" outbound prefix          
           to the dialed number.-->
      <action application="bridge" data="sofia/gateway/onsip-trunk.com/000$1"/>
    </condition>
  </extension>
</include>

Save and exit your outbound dial plan configuration.

Reload the new dial plan by using reload mod_dialplan_xml from the FreeSwitch cli.

Step 4: Edit your inbound dial plan in $PREFIX/conf/dialplan/ directory to route inbound calls

Now that outbound calls work, you should make sure that your inbound dial plan appropriately routes incoming calls. This can generally be accomplished by a line such as:
<condition field="destination_number" expression="^(15135555555)$">

Which will match the telephone number in the inbound SIP invite.
Where “15135555555” is the number routed to your account.

Here is a sample configuration:

<include>
  <extension name="public_did">
    <!-- This identifies the incoming call destined for 15135555555 -->
    <condition field="destination_number" expression="^(15135555555)$">
      <action application="set" data="domain_name=$${domain}"/>
      <!-- This transfers the call to the "default" context 
           and passes along a data parameter of "1000". -->
      <action application="transfer" data="1000 XML default"/>

      <!-- Alternatively the following line will route the call
           directly to the internal extension "1000".
           The "%" is used to indicate that the end point is 
           registered locally. -->
      <action application="bridge" data="sofia/internal/1000%" />

    </condition>
  </extension>
</include>

Save and exit your inbound dial plan configuration.
Reload the new dial plan by using reload mod_dialplan_xml from the FreeSwitch cli.

Step 5: Make test calls

Verify connectivity and correct signaling by placing test calls against a land line or cell phone.
You may need to make minor adjustments to your dialplan depending on your individual configuration.

 

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

Comments

Powered by Zendesk