[asterisk-users] Reading DTMF sent by callee during a SIP call

Alex ralienpp at gmail.com
Fri Dec 20 10:13:53 CST 2013

Hi everyone,

I am looking for advice about the design of a SIP-based intercom. I
count on your help, as my current attempts are not fruitful (yet).

This will be a pretty long message, so here's my fundamental question:

Is there a way to interpret DTMF tones sent by the calee
(not the caller) while a voice call is in progress?

Here's the desired scenario:

- there is a box with speakers and a mic
- Asterisk is running on a computer inside that box
- the box is embedded in a door
- There are two user accounts, UserA and userB
- UserA is a client that runs on the server*
- UserA calls UserB and they are having a voice conversation

Throughout the call, Asterisk must react to DTMF tones sent by userB;
such that an action is executed when a specific key is pressed.

The idea is to build an intercom that would enable me to open a door
remotely, by relying entirely on SIP, so there would be no need to
have some additional communication channel to send the "open door"

I have previously implemented IVRs using `Background` and jumped to
specific extensions, when a button was pressed. But in that case, the
extensions are dialed by the caller; whereas now the input must from
the person who answered the call.

If I use `Dial` and `Read` - the latter is only executed after `Dial`
terminates - so this is not suitable.

`Background` behaves like I need - but it plays back a predefined
file, so it is not suitable for an interactive conversation.

* Having a SIP client on the same machine as the Asterisk server
itself is not possible, because both won't be able to bind to port
5060. My guess is that the solution is to originate a call from the
CLI; but I haven't gotten to that part yet.

Thank you for your patience, I am looking forward to your feedback,

More information about the asterisk-users mailing list