FIX: Add the following line to the dialplan after determining that you will accept the call (i.e. before bridging the call to a SIP endpoint)

Similar documents
The following information will help you troubleshoot general audio issues experienced during inbound and outbound call scenarios.

The main purpose of this release is improving voice quality and addressing stability issues observed in previous releases.

FreeSWITCH IP PBX with Secure Twilio Elastic SIP Trunking

Use Asterisk softswitch and X-Lite client to initiate VoIP sessions and capture associated traffic with the Whireshark network protocol analyzer.

Setting Up a Mitel SX-2000 Digital PIMG Integration with Cisco Unity Connection

Setting up Alcatel 4400 Digital PIMG Integration

Cisco ATA 191 Analog Telephone Adapter Overview

Setting Up an Alcatel 4400 Digital PIMG Integration with Cisco Unity Connection

VoIP Application Note:

Let s Install FreeSwitch

SV9100 SIP Trunking Service Configuration Guide for Cable ONE Business

DMP 128 Plus C V DMP 128 Plus C V AT

TT11 VoIP Router 1FXS/1FXO TA User Guide

Trunks Module - User Guide

SDP-R25 User Manual 05/06/2015

GRANDSTREAM NETWORKS Firmware Release Notes Firmware Version Product Name: GXW4216/GXW4224/GXW4232/GXW4248 Date: October 1, 2014

IPNext NGN IP-PBX High-performance Next Generation IP-PBX Solution

SPA400 Internet Telephony Gateway with 4 FXO Ports

Overview of SIP. Information About SIP. SIP Capabilities. This chapter provides an overview of the Session Initiation Protocol (SIP).

Interworking Signaling Enhancements for H.323 and SIP VoIP

UCM6102/6104/6108/6116 Configuration

Release Note for TA400/800

DMP 128 Plus C V DMP 128 Plus C V AT. Avaya Aura Configuration Guide REVISION: DATE: MARCH 7 TH 2018

Release Notes. DRG SW R2N33 Release Notes

Smart IAD. User s Guide

Spectrum Enterprise SIP Trunking Service NEC Univerge SV8100 IP PBX Configuration Guide

Setting Up an Avaya Definity ProLogix Digital PIMG Integration with Cisco Unity Connection

Grandstream Networks, Inc. Peering HT8XX with GXW410X

Spectrum Enterprise SIP Trunking Service NEC Univerge SV9100 IP PBX Configuration Guide

VoIP Application Note:

Application Note. Telecenter U, Campus Edition SIP Integration to an Analog PBX

HP MSR2000/3000/4000 Router Series

SIP System Features. SIP Timer Values. Rules for Configuring the SIP Timers CHAPTER

SIP System Features. Differentiated Services Codepoint CHAPTER


Configuring SIP Call-Transfer Features

Configuring SIP Call-Transfer Features

Release Note for N412

Nortel Secure Router 2330/4134 Configuration SIP Survivability. Release: 10.2 Document Revision: NN

HT801/HT802 Firmware Release Notes IMPORTANT UPGRADING NOTE

Release Note for TA100/TA200

Cisco Unified CME Commands: M

Welltech WellGate User Manual

Setting Up a Serial (SMDI, MCI, or MD-110) PIMG Integration with Cisco Unity Connection

Following configurations are needed regardless of the recording technology being used.

SIP System Features. SIP Timer Values. Rules for Configuring the SIP Timers CHAPTER

ATCOM IPPBX IP01 Product Guide Version: VoIPon Tel: +44 (0) Fax: +44 (0)

SUMMARY OF UPDATES The main purpose of this release is additional features implementing and addressing stability issues observed in previous releases.

Manual PBX IP Version: 1.0

DMP 128 Plus C V DMP 128 Plus C V AT. Avaya IP Office Configuration Guide REVISION: 1.2 DATE: JANUARY 9 TH 2018

ANSEL FXS / 1 PSTN. VoIP Telephone Adaptor. User Manual V1.10

Pancode IP User Manual from Version 49 and above

Implementing T1 CAS for VoIP

ApplianX IP Gateway User Guide

Version: epbxum_

GXE502X Users Manual

Abstract. Avaya Solution & Interoperability Test Lab

Configuring SIP Support for Hookflash

Configuring SIP Support for Hookflash

HT812/HT814 Firmware Release Note IMPORTANT UPGRADING NOTE

HT801/HT802 Firmware Release Note IMPORTANT UPGRADING NOTE

RP-FSO522 2-Line FXO, 2-Line FXS SIP IP Gateway. Feature

SIP TRUNKING CARRIER CERTIFICATION OXE-SIP configuration

SoLink-Lite IP-PBX. Administrator Guide. (Version 1.0)

Configuring FXS Ports for Basic Calls

DWG2008 Using With FreeSwitch

HT801/HT802 Firmware Release Notes IMPORTANT UPGRADING NOTE

Expandable SIP Phone System. Expandable SIP Phone System

Version: SIPPBXUM.100

Sipura SPA 3000 How To. (c) Bicom Systems

Avaya IP Office SIP Endpoint Configuration Guide

Avaya PBX SIP TRUNKING Setup & User Guide

SS7 VoIP Gateway Solution

HT812/HT814 Firmware Release Notes IMPORTANT UPGRADING NOTE

Information About SIP Compliance with RFC 3261

HT801/HT802 Firmware Release Note IMPORTANT UPGRADING NOTE

Application Notes for Configuring SIP Trunking Using Verizon Business IP Contact Center VoIP Inbound and Avaya IP Office Release 8.1 Issue 1.

Abstract. Avaya Solution & Interoperability Test Lab

One-Voice Resiliency. Branch Voice Resilience for Microsoft Skype for Business or Lync Server Environments and Skype for Business Online. Version 7.

Product Release Notice Synapse 3.0 Software

Configuring Multi-Tenants on SIP Trunks

DMP 128 Plus C V DMP 128 Plus C V AT. Avaya Aura Configuration Guide REVISION: 1.1 DATE: SEPTEMBER 1 ST 2017

ISDN Troubleshooting. All Mediatrix Units with ISDN cards

Circuit #1 - PTC Lab Reference Circuit.

FXO-08 (SIP) User Manual

Tenor S108 Maintenance Release Notes

Smart ATA Product Bulletin

nbox User s Guide ntop Software Web Management Version 2.7 Dec

Chapter TIMG BOILERPLATE

IP/PRI/FXS/BRI PBX. User Manual. Version 2.0

IAD User s Manual PL-300A 1FXS ATA. User s Manual. <Version: V2.0 > Copyrights All Rights Reserved. Page 1 of 25

FreeSWITCH Technical Application Notes

IPNext 187 Hybrid IP-PBX System High-performance Hybrid IP-PBX Solution

5-3 Ring Dialing Plan General Dialing Rule Digit Manipulation Phone Book TEL Setting (FXS

HT812/HT814 Firmware Release Notes IMPORTANT UPGRADING NOTE

Basic FXO Mediatrix Unit Configuration with Asterisk

Configuration Note for Rauland Responder 5 and Avaya Session Manager

Keep Referee When REFER Failed: Reg Retry Long Random Delay: 0. RTP Tx Packet Size Follows Remote SDP:

ApplianX IP Gateway User Guide

ISDN Troubleshooting. All Mediatrix Units with ISDN cards. v

Transcription:

Configuration Guides Why is there no ring back on incoming calls? How to block/unblock callerid on incoming calls based on privacy variable? Why can't I configure my SPC? NSG-ISO: How to reset your password? How Do I Status The Raid Controller? How to change algorithm of choosing timeslots for new calls. (1,2,3,4 or 30,29,28 or random or 1, 3, 5, 7 etc)? How to enable even/odd hunting algorithm How to control DTMF: RFC2833, SIP INFO or Inband? How to set SIP timers (T1,T2 etc if possible)? How to enable/disable T.38? How to enable/disable/configure V.152 (vbd for gpmd) in the SDP? How to switch Echo Cancellation on/off? How to enable/disable Comfort Noise (CNG G.165)? How to configure adaptive amplifier (AGC G.165/G.168)? How to configure adaptive jitter buffer? How to set frequencies for Ring Back Tone etc (needed Russian variant)? How to set RX/TX level on the E1 side? How to set 3-way call with 3-way mixing on the box? How to use DNS SRV to register with NSG to SoftSwitch? How to get DHCP Option 120 and then to use external script to change SIP Proxy setting? Request DHCP option 120 Decode/Handle option 120 How to set channel name on which call needs to be bridge? How to allow calls for specific IP? How to remove sending of INFO messages if NSG is sending X-FS-Support: update_display,send_info in Invite message? How to fill Calling Party Number in Remote Party Header if Presentation Restricted is received for Calling Party Number header? How to supress comfort noise and to avoid adding "silencesupp" line in SDP? How to remap sip response hangup cause code to ISUP specific hangup cause code? How to re-map isup/isdn/q850 channel hangup cause to particular sip specific hangup cause code? How to remove stop sending cid name in SETUP forwarded by NSG? Why is there no ring back on incoming calls? Answer: By default NSG does not play "ringing" for incoming calls when in the progress media state. FIX: Add the following line to the dialplan after determining that you will accept the call (i.e. before bridging the call to a SIP endpoint) <action application="set" data="ringback=%(<on time>, <off time>, <freq 1>, <freq 2>)"/> http://www.itu.int/itu-t/inr/forms/files/tones-0203.pdf Example: Below is an example for the Canadian ring back tone. Insure this is added under the extension "from-pstn" (<extension name="to-pstn" >). Also insure you save the file after adding the line.

Line Added: <action application="set" data="ringback=%(2000,4000, 440,480)"/> Why are unanswered calls being dropped after 60 seconds? Answer: NSG's dialplan runs an internal timer (call_timeout) that hangs up an unanswered call after 60 seconds. This can interfere with ISUP timer T9 testing which is 90-180 seconds. FIX: To increase the NSG call_timeout timer add the following line to the dialplan before you run the bridge application: <action application="set" data="call_timeout=200"/> Example: Below is an example for the Canadian ring back tone. Insure this is added under the extension "from-pstn" (<extension name="to-pstn" >). Also insure you save the file after adding the line. How to add national (0) or international (00) prefix on inbound calls? It is the responsibility of the remote pbx connected to the NSG server to add the national/international prefixes, however, if your pbx does not have the capacity to do so, you may implement this feature the NSG dialplan. Below will indicate how to append national and international prefixes and export the prefixed number via SIP From the NSG webgui, navigate to the Dialplan via the left column. Edit the information inside the "to-sip" extension, which resides inside the "from-pstn" context. Below is an example of a stock NSG dialplan:

Within the "to-sip" extension tags add the following syntax to prefix the inbound call for national (0) or international (00) calls: National call: <condition field="${freetdm_ss7_clg_nadi}" expression="3" break="never"> <action application="export" data="sip_h_x-freetdm- CallerNumber=0${caller_id_number}"/> </condition> International call: <condition field="${freetdm_ss7_clg_nadi}" expression="4" break="never"> <action application="export" data="sip_h_x-freetdm- CallerNumber=00${caller_id_number}"/> </condition> Below is an example that implements the above:

*Note: make sure to add the above syntax BEFORE the bridge dialstring (or add to top of context): <action application="bridge" data="${sofia_contact($${gwuser} @$${domain})}"/> For informational purposes only: Below is an example from a wireshark trace of the NADI value (Nature of Address) national international

How to block/unblock callerid on incoming calls based on privacy variable? It is the responsibility of the remote pbx connected to the NSG server (receiving the calls) to use the privacy variables set from NSG to block /unblock the callerid, however, if your pbx does not have the capacity to do so, you may implement this feature in the NSG dialplan. From the NSG webgui, navigate to the Dialplan via the left column. Edit the information inside the "to-sip" extension, which resides inside the "from-pstn" context. Below is an example of a stock NSG dialplan:

Within the "to-sip" extension tags add the following syntax to enable NSG to block/unblock the incoming call's callerid before sending it out, depending on the value received for the "presentation_ind" variable : <condition field="${presentation_ind}" expression="presentationrestricted" break="never"> <action application="log" data="crit Privacy"/> <action application="set" data=" effective_caller_id_number=annonymous"/> <action application="export" data="sip_h_x-freetdm- CallerNumber={annonymous}"/> </condition> Below is a sample dialplan with the added syntax:

How to delay Answer message for inbound SS7 calls that connect to answering machine/voicemail Typically, when a call connects with an answering machine/voicemail system, NSG sends the ANSWER message immediately to the MSC. The idea here is to delay the ANSWER message for a set period of time (i.e. 3 seconds). In order to do this, you must delay the 200 OK message that is sent from your registered Asterisk/FreeSWITCH to NSG. In your Asterisk/FreeSWITCH dialplan: 1. 2. 3. Specify no answer at the beginning of the call playback a short audio file (the delay time you require, such as 3 seconds) Answer the call after the file is played Below is a sample Asterisk Diaplan: [inbound_call] exten => 100,1,SET(SS7_NADI=${SIP_HEADER(X-FreeTDM-NADI)}) exten => 100,n,GotoIf($["${SS7_NADI}"="3"]?next,s,1) exten => 100,n(continuer),Agi(bv-set-uniqueid.agi) exten => 100,n,...

[next] exten => s,1,playback(emptyprompt,noanswer) exten => s,n,goto(inbound_call,100,continuer) See below for a diagram of the implementation: Asterisk/FreeSWITCH NSG Telco ------------------------------------------------------------ < --------- Invite -- < ---------- IAM ------------ > 183 ----- > ACM -- > Playback ---- > --- > early media <<<<<< 3 sec later>>>>>>>> ------- > 200 ok --- > ANS-- > Why can't I configure my SPC? The list of valid SPC's needs to be defined in your license file. If you are trying to add a new SPC, or changing SPC's, we will need to regenerate a license file for that specific configuration. NSG-ISO: How to reset your password? If you have forgotten your log-in credentials to your NSG-SS7 Appliance, here is how you can reset the password: 1. connect keyboard and mouse 2. power down the appliance 3. power on the appliance. As soon as you power it on, you need to interrupt the boot sequence, so keep pressing the ESCAPE key a the appliance boots up 4. it it works you should come to a blue looking screen that has a few kernel entries. Press 'e' for edit 5. at the very end of the kernel line enter the following, with a space before 'init=/bin/bash ' (dont put the ' ' quotes) 6. then press enter. 7. you will need to press 'b' to boot 8. then after the system reboots you will enter the following to change the password: passwd root then it will ask you to put in the new password. put 'sangoma' 9. then reboot the system and you should be able to use 'root' and 'sangoma' for the password (From webgui) How Do I Status The Raid Controller? To check the status of the raid controller you can use the command below which will give a quick summary. Run: dmraid -s

Output: --> Active Subset name : isw_bdhabhdhai_volume0 size : 62527488 stride : 128 type : mirror status : ok subsets: 0 devs : 2 spares : 0 You can also get a detailed report by running the command below as well. Run: dmraid -n Output: /dev/sdb (isw): 0x000 sig: " Intel Raid ISM Cfg Sig. 1.1.00"... 0x1dc isw_dev[0].vol.map[0].disk_ord_tbl[1]: 0x1 /dev/sda (isw): 0x000 sig: " Intel Raid ISM Cfg Sig. 1.1.00"... 0x1dc isw_dev[0].vol.map[0].disk_ord_tbl[1]: 0x1 How to change algorithm of choosing timeslots for new calls. (1,2,3,4 or 30,29,28 or random or 1, 3, 5, 7 etc)? NSG support Ascending and Descending hunting order. Hunting order is configured via NSG GUI GUI -> Configuration -> Global <!-- PSTN settings --> <X-PRE-PROCESS cmd="set" data="pstn_default_group=g1"/> <X-PRE-PROCESS cmd="set" data="pstn_default_hunting=a"/> pstn_default_group=g1 g1 - indicates group 1 By default the NSG dialplan routes all DIDs from SIP to TDM via a single trunk group. Groups are assigned to Spans in : Configuration -> TDM section. Routing between SIP to TDM is performed in: Configuration Dialplan If NSG requires multiple groups, then the Dialplan has to be modified to route based on DID pstn_default_hunting=a A - Indicates dscending order - Highest to Lowest Channel/CIC a - Indicates aescending order - Lowest to Highest Channel/CIC R - Round-robin ascending r - Round-robin descending Note Gateway needs to be restarted for Global configuration to take effect.

How to enable even/odd hunting algorithm Add below line in dialplan ( via GUI -> Configuration - >Dialplan) before bridging the call. GUI -> Configuration -> Dialplan <action application="set" data="freetdm_hunt_even_only=yes" /> Save the Diaplan. Note, that Dialplan changes can be applied in real time without the need to restart the gateway. How to turn on/off Ring-Back tone generating by a gateway as to SIP as to TDM (early media, etc)? By default early media is enabled. Gateway does not generate ring tones. How to collect Q931 data per TS or per whole E1 with different debug levels? NSG supports PCAP tracing on Ethernet and TDM interfaces. GUI -> Reports -> Network Capture Select Network interfaces to capture: Ethernet and/or TDM Click on Capture Perform call tests or just wait for data to collect Click to Stop Capture Download PCP file to your Workstation Open the PCAP file using Wireshark application. Note: Wireshark is a network analysis tool that can be freely downloaded on the internet. How to control DTMF: RFC2833, SIP INFO or Inband? SIP DTMF configuration can be modified in NSG GUI GUI -> Configuration -> Global <!-- DTMF type values: info, rfc2833 or none --> <X-PRE-PROCESS cmd="set" data="sip_dtmf_type=rfc2833"/> sip_dtmf_type=[rfc2833 none info]

rfc2833 info none Enable RFC2833 DTMF Enable SIP INFO DTMF Disable DTMF in SIP Header. Relay on Inband DTMF Node that by default NSG Gateway removes all inband DTMF tones. Along with this option, user must set Inband DTMF Removal Buffer to Zero for each SPAN. GUI->Configuration->TDM-> For each Span: Physical Config -> Edit -> Advanced Options -> Inband DTMF Removal Buffer = 0 Note: Gateway needs to be restarted for Global configuration to take effect. How to set SIP timers (T1,T2 etc if possible)? NSG SIP Timers T1 and T2 are set by default T1=500ms T2=4000ms Transaction Timeout=32000ms To change these settings GUI -> Configuration -> File Editor Select sip_profiles from left hand side Select internal.xml Add the following parameters to the bottom of the parameter list <param name="timer-t1" value="500" /> <param name="timer-t2" value="4000" /> <param name="timer-t1x64" value="32000" /> T1 - Initial retransmission interval (in milliseconds). T2 - Maximum retransmission interval (in milliseconds) timer-t1x64 - Transaction timeout (defaults to T1 * 64) Gateway needs to be restarted for File editor configuration to take effect. How to enable/disable T.38? NSG enables T.38 by default. The T.38 is triggered by the CNG or V.21 tone. These values are configured in Dialplan GUI -> Configuration - >Dialplan This is default configuration that enables T.38 <action application="set" data="fax_enable_t38_request=true" /> <action application="set" data="fax_enable_t38=true" /> <action application="export" data="nolocal:execute_on_answer_1=tone_detect fax_disable_ec 2100 r +5000 disable_ec 1" />

<action application="export" data="nolocal:execute_on_answer_2=t38_gateway peer ced_preamble" /> To disable T.38, comment out the four actions using <!-- --> headers. <!-- <action application="set" data="fax_enable_t38_request=true" /> --> <!-- <action application="set" data="fax_enable_t38=true" /> --> <!-- <action application="export" data="nolocal: execute_on_answer_1=tone_detect fax_disable_ec 2100 r +5000 disable_ec 1" /> --> <!-- <action application="export" data="nolocal: execute_on_answer_2=t38_gateway peer ced_preamble" /> --> Save the Diaplan. Note, that Dialplan changes can be applied in real time without the need to restart the gateway. How to enable/disable/configure V.152 (vbd for gpmd) in the SDP? general purpose media description (gpmd) attribute is not supported. How to switch Echo Cancellation on/off? By default Echo Canellation is always enabled NSG gateway. Echo can be disabled in Dialplan. The following command must be appended to the diaplan before the "bridge" command GUI->Configuration->Dialplan Disable EC <action application="disable_ec" /> That EC will always be re-enabled on next call start. Save the Diaplan. Note, that Dialplan changes can be applied in real time without the need to restart the gateway.

How to enable/disable Comfort Noise (CNG G.165)? NSG support CNG. When both sides are supporting RFC 3389 (they agree in SDP message exchange, rtpmap:13), NSG will send CN packets. How to configure adaptive amplifier (AGC G.165/G.168)? AGC is not supported. How to configure adaptive jitter buffer? Jitter buffer is not enabled by default. To enable jitter buffer, following line must be appened to the DIalplan before the "bridge" command. GUI->Configuration->Dialplan Fixed Jitterbuffer <action application="jitterbuffer" data="60"/> Adapter Jitterbuffer: 60 ms jitter buffer with 200ms max length and 20 ms max drift <action application="jitterbuffer" data="60:200:20"/> Save the Diaplan. Note, that Dialplan changes can be applied in real time without the need to restart the gateway. How to set frequencies for Ring Back Tone etc (needed Russian variant)? To enable custom ring back, following line must be appened to the DIalplan before the "bridge" command. GUI->Configuration->Dialplan US Ring <action application="set" data="ringback=%(2000,4000,440.0,480.0)"/> Russia Ring

<action application="set" data="ringback=%(800,3200,425)"/> Ringback will not be sent unless the variable is set *and* there's a ringing indication from the party that is being called. If you want to use fake ringback via the ringback variable and you want it to happen instantly, you can also do: <action application="set" data="instant_ringback=true"/> Save the Diaplan. Note, that Dialplan changes can be applied in real time without the need to restart the gateway. Common Ring Cadences per country be-ring=%(1000,3000,425) ca-ring=%(2000,4000,440,480) cn-ring=%(1000,4000,450) cy-ring=%(1500,3000,425) cz-ring=%(1000,4000,425) de-ring=%(1000,4000,425) dk-ring=%(1000,4000,425) dz-ring=%(1500,3500,425) eg-ring=%(2000,1000,475,375) es-ring=%(1500,3000,425) fi-ring=%(1000,4000,425) fr-ring=%(1500,3500,440) hk-ring=%(400,200,440,480);%(400,3000,440,480) hu-ring=%(1250,3750,425) il-ring=%(1000,3000,400) in-ring=%(400,200,425,375);%(400,2000,425,375) jp-ring=%(1000,2000,420,380) ko-ring=%(1000,2000,440,480) pk-ring=%(1000,2000,400) pl-ring=%(1000,4000,425) ro-ring=%(1850,4150,475,425) rs-ring=%(1000,4000,425) ru-ring=%(800,3200,425) sa-ring=%(1200,4600,425) tr-ring=%(2000,4000,450) uk-ring=%(400,200,400,450);%(400,2000,400,450) us-ring=%(2000,4000,440,480) How to set RX/TX level on the E1 side?

The Rx/Tx E1 gain can be sent in 2 different ways GUI Span Configuration Real time using NSG CLI GUI Span Configuration GUI - > Configuraiton -> TDM Fore each span Click on Physical Config -> Edit -> Advanced Parameters - Set Tx Gain Set Rx Gain GUI -> Configuration -> Apply configuration Real time NSG CLI GUI -> Configuraiton -> Command Execution -> NSG Command Window Enter the command and click Execute Adjust gains for whole span ftdm gains <rxgain> <txgain> <span_id> Adjust gains for span chan ftdm gains <rxgain> <txgain> <span_id> <chan_id> Note that real time commands do not persist after reboot. How to set 3-way call with 3-way mixing on the box? 3-way call with 3-way mixing can be enabled through the dial plan using attended_xfer application. To make a three way call, just press the DTMF digit 0 when the last party answers the call during an attended transfer. Here is an example of dial plan: GUI -> Configuration - >Dialplan Make a dialplan feature which read the number to make an attended transfer. <extension name="att_xfer"> <condition field="destination_number" expression="^att_xfer$"> <action application="read" data="3 4 sounds/getdigits.wav attxfer_callthis 30000 #"/> <action application="att_xfer" data="sofia/default/${attxfer_callthis}"/> </condition> </extension> Then bind this feature to DTMF 3. <action application="bind_meta_app" data="3 a a execute_extension:: att_xfer XML features"/>

During call press *3 to activate the feature. Feed it the number then it will make the call. If you press DTMF 0 (after the other leg answered) then it will convert it to a three-way. How to use DNS SRV to register with NSG to SoftSwitch? NSG suppots DNS SRV natively. In order to register to a remote SoftSwtich, a gateway must be configured in NSG. NSG Arechitecture SIP Profile Used to listen to SIP Port eg: 5060 Handles incoming connections SIP Gateway Also know as SIP Trunk Used to connect to remote SIP server Contains credentials and configuration necessary to establish the connection SIP Domain Used to implement local registration Contains local user info and credetials SIP Domain must be attached do the SIP Profile SIP Gateway/SIP Trunk Configuration GUI - > Configuration -> File Editor From the left hand side click on sip_profiles Open internal.xml Append gateway configuration to the bottom of the file <include> <gateway name="remote-softswitch"> <param name="username" value="specify-user-name-here"/> <param name="realm" value="sip.itsp.com"/> <param name="from-domain" value="sip.itsp.com"/> <param name="password" value="password"/> <param name="extension" value="can-be-same-as-user-name"/> <param name="proxy" value="dns-srv-url"/> <!-- example using the DNS SRV record. --> <param name="expire-seconds" value="60"/> <param name="register" value="true"/> <param name="retry-seconds" value="60"/> </gateway> </include> How to get DHCP Option 120 and then to use external script to change SIP Proxy setting?

Refs: http://technet.microsoft.com/en-us/library/gg398369(v=ocs.14).aspx http://www.rfc-editor.org/rfc/rfc3361.txt Request DHCP option 120 In /etc/dhcp/dhclient-eth0.conf add following lines: option sip-server code 120 = { unsigned int 8, ip-address }; also request sip-server; This instructs dhclient to request option 120 and to decode is as uint8 (encoding) and an ipaddress(v4) Didn't find yet the proper way to decode fqdn (encoding 0) but here is an alternative that can do the job with little tweak in hook script (see below) option sip-server code 120 = domain-list; also request sip-server; Decode/Handle option 120 Create dhclient handler script in /etc/dhcp/dhclient.d/sip_server.sh (chmod +x) #!/bin/bash sip_server_config() { echo '-------------------------------------------------------------------------' >> /tmp/dhcp.txt date >> /tmp/dhcp.txt echo 'config' >> /tmp/dhcp.txt IFS=' ' read -ra _TMP <<< "$new_sip_server" _encoding=${_tmp[0]} _address=${_tmp[1]} echo "Encoding=$_encoding" >> /tmp/dhcp.txt echo "SIP Server IP=$_address" >> /tmp/dhcp.txt # Change NSG settings sed -i "s/\(sip_remote_ip=\)\(.*\)\(\".*\)/\1${_address}\3/g" /usr/local /nsg/conf/nbess7.xml } sip_server_restore() { echo 'restore' >> /dev/null } In case of ipaddr encoding fields are extracted correctly: encoding=1 sip-server=1.2.3.4 In case of fqdn emcoding fields are almost extracted correctly: encoding=.. sip-server=sip.sangoma.local. So above hook script must account for encoding being.. (instead of 0) and remove trailing. (dot) at the end of sip-server value. Hook script in the end replace the remote sip ip address by the one returned by dhcp in NSG xml file (WIP script have to account for errors and above mentioned use case (fqdn)) - we also have to instruct FS to reload its configuration.

How to set channel name on which call needs to be bridge? By default calls are bridge generally based on hunting and span To enable sending/bridging to a specified, following line must be appened to the DIalplan before the "bridge" command within condition GUI -> Configuration -> Dialplan <condition field="${channel_name}" expression="^(freetdm/x:y/)$/> where X = span number Y = channel number In order to set span 2 channel 1 below lines needs to be included in dialplan: <condition field="${channel_name}" expression="^(freetdm/2:1/)$/> How to allow calls for specific IP? By default calls are allowed and executed based in destination number To enable allowing calls from specific IP's, following condition must be appened to the DIalplan inside "to-pstn" context GUI -> Configuration -> Dialplan <condition regex="any" break="on-false"> <!-- IP address to validate against --> <regex field="network_addr" expression="182\.74\.83\.246" /> <!-- In case it does not match respond with 403 --> <anti-action application="respond" data="403" /> </condition> To add multiple IP's continue adding network_addr one after the another as per requirement <condition regex="any" break="on-false"> <!-- IP address to validate against --> <regex field="network_addr" expression="182\.74\.83\.246" /> <regex field="network_addr" expression="61\.90\.47\.116" />... <!-- In case it does not match respond with 403 --> <anti-action application="respond" data="403" /> </condition>

NOTE: The IP are the dummy IP's for exmaple purpose. Please use the IP to which calls needs to be bridge How to remove sending of INFO messages if NSG is sending X-FS-Support: update_display,send_info in Invite message? To stop sending INFO messages, in case INVITE is generating X-FS-Support with update_display,send_info below changes are required in dialplan and sip_profile to stop sending X-Fs-Support Header witin SIP INVITE NOTE: Sending of update_display,send_info in X-FS-Support haeader may lead to dealy in sending BYE to remote IP until INFO message timer is expired GUI -> Configuration -> Dialplan Add condition before bridging the call <action application="set" data="ignore_display_updates=true" /> GUI -> Configuration -> SIP Add this configuration <param name="pass-callee-id" value="false" /> How to fill Calling Party Number in Remote Party Header if Presentation Restricted is received for Calling Party Number header? By default calls are allowed and executed based in destination number and desination number is filled based on Presentation value received from peer SS7 side. In order to fill calling party number in remote party header even if the received presentation is restricted, following condition must be appened to the DIalplan inside "to-sip" context. GUI -> Configuration -> Dialplan <!-- If we receive Presentation restricted for caling party number from SS7 side then expose below parameter to fill calling party number in Remote party header --> <condition field="${freetdm_ss7_pres_ind}" expression="^(1)$" break="never" > <action application="export" data=" rpid_callee_id_number=${freetdm_ss7_clg_num}"/>

<action application="log" data="rpid_callee_id_number = ${rpid_callee_id_number}"/> </condition> How to supress comfort noise and to avoid adding "silencesupp" line in SDP? To stop sending "silencesupp" line included in SDP, below changes are required in dialplan. GUI -> Configuration -> Dialplan Add condition before bridging the call <!-- To suppress comfort noise and avoid adding "silencesupp" line in SDP --> <action application="export" data="sip_silence_supp_off_indication=true"/> <action application="export" data="suppress_cng=true"/> How to remap sip response hangup cause code to ISUP specific hangup cause code? In order to remap sip response hangup cause code to ISUP specific hangup cause code dialplan changes are required. Please find below example of mapping 503 Server Unavailable to ISUP cause code 34 i.e. NORMAL CIRCUIT CONGESTION GUI -> Configuration -> Dialplan Add below condition in dialplan <!-- Transfer to specific context on failure --> <action application="set" data="continue_on_fail=true" /> <action application="bridge" data="sofia/internal/${destnumber} @${sip_remote_ip}:${sip_remote_port}"/> <action application="transfer" data="dohangup XML dohangup"/> Add below context and condition in dialplan <!-- SIP Cause Code mapping to ISUP cause code --> <context name="dohangup"> <extension name="dohangup"> <condition field="${last_bridge_proto_specific_hangup_cause}" expression="^(sip:503)$" break="on-true"> <action application="hangup" data="normal_circuit_congestion"/> </condition>

<condition> <action application="hangup" data="${last_bridge_hangup_cause}" /> </condition> </extension> </context> How to re-map isup/isdn/q850 channel hangup cause to particular sip specific hangup cause code? In order to re-map q850 channel hangup cause code to sip specific hangup cause code dialplan changes are required. Please find below example of mapping q850 chanel hangup cause 19 (NOT FOUND)to SIP hangup cause code 406 with sip reason header as "NO ANSWER" GUI -> Configuration -> Dialplan Add below condition in dialplan <!-- Transfer to specific context on failure --> <action application="set" data="continue_on_fail=true" /> <action application="bridge" data="sofia/internal/${destnumber} @${sip_remote_ip}:${sip_remote_port}"/> <action application="transfer" data="dohangup XML dohangup"/> Add below context and condition in dialplan <!-- SIP Cause Code mapping to ISUP cause code --> <context name="dohangup"> <extension name="dohangup"> <condition field="${q850_term_cause}" expression="^(19)" break=" on-true"> <action application="set" data="sip_reason=no_answer"/> <action application="set" data=" last_bridge_proto_specific_hangup_cause=sip:406"/> </condition> <condition> <action application="hangup" data="${last_bridge_hangup_cause}" /> </condition> </extension> </context> How to remove stop sending cid name in SETUP forwarded by NSG?

In order to stop sending cid name in SETUP as forwarded by NSG dialplan changes are required. Please find below example in order to achieve the same: GUI -> Configuration -> Dialplan Add below condition in dialplan within "from-voip-to-pstn" context: <!-- To stop sending cid name in isdn SETUP message --> <action application="export" data="freetdm_isdn.send_cid_name=no" />