Our thinking

DTMF Dialling via speed dial, or BLF, buttons on Yealink phones with 3CX

I have a client and we have recently deployed a 3CX solution for them. One of the more tricky parts of their solution was integrating with an existing analogue intercom at the front gate.

I was able to configure the Natcomm DS-SIP module as an ATA for the analogue interface and it worked very well.

With this module, when you are speaking to the person at the front gate, you can press * * on the telephone keypad and this will trigger a relay contact in the DS-SIP that opens the gate.

I wanted to make this as easy as possible for the end user, so my ideal scenario had the * * key sequence programmed in as a speed dial (technically, had it on a Busy Lamp Field, or BLF key) but the available options for the BLF keys in 3CX didn’t allow this.

3CX lets you define the BLF keys, and one of the options is a Custom Speed Dial, but no matter what you put in as a Custom Speed Dial, it would put the current call on hold before dialling the digits in the number field.

Luckily 3CX allows you to customise the phone templates, I was able to configure a Yealink phone manually with the exact setting I needed to send DTMF tones, and then incorporate this as a template into 3CX.

In the end, I only had to make a tiny change to the XML template for the Yealink phone series that I was using – I first created a copy of the template in question in 3CX and then edited the <customspeeddial> section so that the <DKtype> was set to 11, instead of the default of 13.

This then tells the Yealink handset to simply send the corresponding DTMF tones while on the current call, rather than putting the current call on hold and dialling a new number.

Leave a Reply