FAQ
- Why is there no ring back on incoming calls?
- Why are unanswered calls being dropped after 60 seconds?
- How to add national (0) or international (00) prefix on inbound calls
- How to block/unblock callerid on incoming calls based on privacy variable
- How to delay Answer for inbound SS7 calls that connect to answering machine/voicemail
- ISUP Release Causes
- Why can't I configure my SPC?
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.
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="presentation-restricted" 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:
- 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.






