Tuesday 4 December 2018

MoH - Skype, AudioCodes and an SIP Carrier

Troubleshooting an MoH issue today, where a SfB client would places a PSTN caller on hold, and the PSTN caller would get no MoH.  

SBC connection to PSTN was via a SIP trunk.

What I found was:
When call placed on hold from SfB client the INVITE had sdp of a=sendonly
This was received by the SBC and the AudioCodes "Remote Hold Format" on the IP Profile associated with the Skype side was set to "Transparent"

The "Remote Hold Format" on the ITSP side was also set to "Transparent"

In this instance the INVITE was forward to the carrier with an a=sendonly attribute.

But the ITSP would reply with a "200 OK" but the attribute was set to a=inactive.  This effectively shutdown the media path and the ITSP would not get the MoH stream from the SBC.

The Fix:
After reading the manual for the AudioCodes SBC and seeing what all the values in the "Remote Hold Format"

  • Transparent = (Default) Device forwards SDP as is.
  • Send Only = Device sends SDP with 'a=sendonly'.
  • Send Only Zero ip = Device sends SDP with 'a=sendonly' and 'c='.
  • Inactive = Device sends SDP with 'a=inactive'.
  • Inactive Zero ip = Device sends SDP with 'a=inactive' and 'c='.
  • Not Supported = This option can be used when the remote side does not support call hold. The device terminates call hold requests received on the leg interfacing with the initiator of the call hold, and replies to this initiator with a SIP 200 OK response. However, call retrieve (resume) requests received from the initiator are forwarded to the remote side. The device can play a held tone to the held party if the 'SBC Play Held Tone' parameter is set to Yes.
  • Hold and Retrieve Not Supported = This option can be used when the remote side does not support call hold and retrieve (resume). The device terminates call hold and call retrieve requests received on the leg interfacing with the initiator of the call hold/retrieve, and replies to this initiator with a SIP 200 OK response. Therefore, the device does not forward call hold and/or retrieve requests to the remote side.
When the "Remote Hold Format" on the IP Profile associated with the ITSP was change to Hold and Retrieve Not Supported, the behavior of the SBC was changed to that once it received the INVITE with a=sendonly, it did NOT forward to the ITSP, so the media path was never altered from SBC to ITSP, and MoH was then played to the PSTN caller..

Wednesday 24 October 2018

Test Phone Numbers

Was troubleshooting a DTMF issue today, and found some numbers from internode, that I think will be handy in the future.

Test Number
Echo Test: plays your own voice back to you.
Music: plays fifteen minutes of Radio Paradise.
CLID Presentation Check: reads back your Calling Line ID to you, if it's turned on.
Talking Clock: reads back the current time to you.
DTMF Tone Test: reads back the digit pressed on your telephone keypad.

Wednesday 1 August 2018

Mitel MiVoice Connect Contact Centre - Redundancy

EICC via Mitel MiVoice Connect with primary ECC server running
EICC via Mitel MiVoice Connect with redundant ECC server running

Complete the following steps to place appropriate configuration files on the HQ server. 

This ensures that if the system fails over, HQ is configured to run the contact center properly:

1. On the contact center server, navigate to 
location>\nginx\conf, and copy the following files:

  • nginx_ecc.template
  • readme.txt
  • Redundancy.bat
  • Redundancy_config.rb

2. On the HQ server, navigate to 

directory, and paste the files you copied in step 1.

3. Double-click the Redundancy.bat file.
When the Windows console loads, follow the instructions on the console, and enter the IP addresses of the headquarters server, primary contact center server, and secondary contact center server.

4. Restart the ShoreTel-DirectorProxy service as follows:

a. In the Windows Start menu, click Control Panel > Administrative Tools > Services.
b. Select the ShoreTel-DirectorProxy service, and click Restart.

Friday 11 May 2018

Cisco UC Tools

Some great tools for Cisco UC deployments

DRS Backup Decrypter

UCOS Password Decrypter

IFX Ontape Browser


AudioCodes FXS

Lately have been migrating fax to FXS ports on M800's

Seems every time i need to look through logs I forgot what the message written to the file is, this post is just a dump of log messages so that I don't ave to go looking for things all the time..

recv <-- OFF_HOOK: FXS sending off hook message to gateway
recv <-- DIGIT(x): x is the digit received


Tuesday 27 February 2018

Lync/SfB Address Book Files

Found this great article when looking at issue for a customer the other day around how the client address book file name are generated..


Screen shots below are from the above blog link.

Friday 23 February 2018

AudioCodes AD Authentication

Been playing with AD authentication and AudioCodes SBC with firmware 7.2 and found a few things, thanks to Dave for the help..

If LDAP is enabled but not configured correctly you will get locked out of the SBC, not even the local SBC accounts can access the gateway.  So make sure that you don't close your browser window in the middle of the config, or even let the timeout for access be reached...

Under "Setup --> IP Network -->Radius & LDAP"

Select "LDAP Settings"

Change the "LDAP Service" to enabled, and  change the "LDAP Authentication Filter" to (sAMAccountName=$).  Making sure that the () are included
As always the lighting bolt icon means that a reboot is required.

Under "LDAP Service Groups"

Select "New" and complete with the following details, make sure that "Type" is set to Management

Under "LDAP Servers"

Select "New" and enter the required details:
LDAP Server Group --> >name of the server group from "LDAP Server Group"
LDAP Password is ALWAYS --> $
LDAP Bind DN is --> $@'domain.com'
Management Attribute --> memberOf
LDAP Server IP --> IP Address of DC

Under LDAP Servers, select "LDAP Servers Search Base DNs"

Select "New" and enter the base DN to start searching within AD.

Under LDAP Servers, select

Select "New" and enter the AD group to check for membership.


  • "LDAP Authentication Filter" to (sAMAccountName=$).  Make sure there are no "quotes" around the entry in the WebGUI
  • Under the AdminPage update the "LDAPDEBUGMODE" value to be 3 (0 default, 3 highest level) then details can be checked in syslog.

Thursday 25 January 2018

More ShoreTel Troublehsooting

The TMSNCC logs the call accumulations recorded at the end of a call in the G-MST entry, this points to the RTP stream of the call with the following summary

Packet info
s: sent packets
r: received packets
l: lost packets

Jitter Buffer Info (call quality)
j: # of times jitter buffer had to adjust size trying to handle voice streams
u: # of times the jitter buffer did not get enough data to pass on a voice stream

o: # of times the jitter buffer received data outside of its maximum jitter buffer

09:11:49.557 ( 4184: 5288) G-MST: 200000BD "00070001-33cd-5927-c6e1-005056a27011" ("",""),(0, 0),0(Null),rsn:1,22:06:23.979 (UTC),pl:20,(s:16279, r:16279, l:0),(j:3,u:6435,o:11) flgs:0x00000000 "sip:@:5441",vpn:0

G-MST: 2 --> Relates to Network Side of the call
G-MST: 4 --> Relates to Trunk Side of the call

Landis Attendant Console Install

Attempting to setup a test tenant with access to Landis Attendant Console, and was getting errors around granting access to the tenant. The ...