How to configure FreeSWITCH
To obtain your credentials go to myipcomms.net or check your provisioning letter then enter your information below
- username=SIP username provided
- password = SIP Password provided
- DIDNUMBER= DID number provided
Server requirements: Config editor like nano,pico,vi. vim, emacs
REGISTER TRUNK
nano /usr/local/freeswitch/conf/sip_profiles/external/ipcomms.xml<include> <gateway name="IPCOMMS"> <param name="username" value="username"/> <param name="auth-username" value="username"/> <param name="password" value="sip password"/> <param name="proxy" value="2way.ipcomms.net"/> <param name="expire-seconds" value="800"/> <param name="register" value="true"/> <param name="register-transport" value="udp"/> <param name="retry-seconds" value="60"/> <param name="context" value="public"/> </gateway> </include>
ADD DID NUMBER(s) (One number per file preferred )
nano /usr/local/freeswitch/conf/dialplan/public/DIDNUMBER.xml
<extension name="DIDNUMBER" > <condition field="context" expression="public" /> <condition field="destination_number" expression="^(DID NUMBER)$" > <action application="transfer" data="100 XML default" /> </condition> </extension>
CONFIGURE OUTBOUND DIALING (set for 11 digit dialing)
nano /usr/local/freeswitch/conf/dialplan/default/IPCOMMS_OUT.xml
<extension name="IPCOMMS_OUT" > <condition field="destination_number" expression="^(\d{11})$" > <action application="set" data="sip_h_X-accountcode=${accountcode}" /> <action application="set" data="sip_h_X-Tag=" /> <action application="set" data="call_direction=outbound" /> <action application="set" data="hangup_after_bridge=true" /> <action application="set" data="effective_caller_id_name=${outbound_caller_id_name}" /> <action application="set" data="effective_caller_id_number=${outbound_caller_id_number}" /> <action application="set" data="inherit_codec=true" /> <action application="bridge" data="sofia/gateway/IPCOMMS/$1" /> </condition> </extension>
CONFIGURE an EXTENSION
nano /usr/local/freeswitch/conf/directory/default/100.xml<include> <user id="100"> <params> <param name="password" value="ext1234"/> </params> <variables> <variable name="toll_allow" value=""/> <variable name="accountcode" value=""/> <variable name="user_context" value="default"/> <variable name="effective_caller_id_name" value="Your name"/> <variable name="effective_caller_id_number" value="204"/> <variable name="outbound_caller_id_name" value="Your Name"/> <variable name="outbound_caller_id_number" value="CNAM"/> <variable name="emergency_caller_id_number" value="CNAM"/> <variable name="directory-visible" value="true"/> <variable name="limit_max" value="2"/> </variables> </user> </include>