Inband DTMF

D
dpn (at) switchvoice.com
Sat, Apr 4, 2015 12:18 AM

Hi Gents,

I am tiring to integrate analog phone thru SLIC from Silicon labs to the pjsip.
Thanks to the help from the this mailing list I have managed to move the task
up to the point I have clean audio between my analog phone and a sip client
analog_phone - pjsip <---> (Asterisk SIP server) <---> SIP client

My SLIC doesn’t have built in DTMF detection.
I just read that pjmedia doesn’t support inband DTMF detection.
Can you please confirm/refuse that ?

If DTMF doesn’t supported I am willing to borrow the inband DTMF detection
from Asterisk or some other open implementation and  put it in pjmedia.
Do you see benefits for the project?

As I am very new to pjsip I am not sure which will be the native way to integrate such a detector in pjsip.
Is someone willing to advice me on the best way to put DTMF detection in the pjmedia?

Thanks
Dimitar

Hi Gents, I am tiring to integrate analog phone thru SLIC from Silicon labs to the pjsip. Thanks to the help from the this mailing list I have managed to move the task up to the point I have clean audio between my analog phone and a sip client analog_phone - pjsip <---> (Asterisk SIP server) <---> SIP client My SLIC doesn’t have built in DTMF detection. I just read that pjmedia doesn’t support inband DTMF detection. Can you please confirm/refuse that ? If DTMF doesn’t supported I am willing to borrow the inband DTMF detection from Asterisk or some other open implementation and put it in pjmedia. Do you see benefits for the project? As I am very new to pjsip I am not sure which will be the native way to integrate such a detector in pjsip. Is someone willing to advice me on the best way to put DTMF detection in the pjmedia? Thanks Dimitar
D
dpn (at) switchvoice.com
Mon, Apr 6, 2015 9:27 PM

Hi Gents,

I have added dtmf detection to my tdm audio device.
I have used spandsp tdmf detection which appears to work fine for my application.

Now I am wondering what would be the best way to pass the dialed extension from my audio_device to the pjsua application layer.
The spandsp dtmf allows an on_dtmf() callback to be hooked so we can have notification on each digit.

Any comments will be appreciated.
Dimitar

From: dpn@switchvoice.com
Sent: Saturday, April 4, 2015 03:18
To: pjsip list
Subject: [pjsip] Inband DTMF

Hi Gents,

I am tiring to integrate analog phone thru SLIC from Silicon labs to the pjsip.
Thanks to the help from the this mailing list I have managed to move the task
up to the point I have clean audio between my analog phone and a sip client
analog_phone - pjsip <---> (Asterisk SIP server) <---> SIP client

My SLIC doesn’t have built in DTMF detection.
I just read that pjmedia doesn’t support inband DTMF detection.
Can you please confirm/refuse that ?

If DTMF doesn’t supported I am willing to borrow the inband DTMF detection
from Asterisk or some other open implementation and  put it in pjmedia.
Do you see benefits for the project?

As I am very new to pjsip I am not sure which will be the native way to integrate such a detector in pjsip.
Is someone willing to advice me on the best way to put DTMF detection in the pjmedia?

Thanks
Dimitar



Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

Hi Gents, I have added dtmf detection to my tdm audio device. I have used spandsp tdmf detection which appears to work fine for my application. Now I am wondering what would be the best way to pass the dialed extension from my audio_device to the pjsua application layer. The spandsp dtmf allows an on_dtmf() callback to be hooked so we can have notification on each digit. Any comments will be appreciated. Dimitar From: dpn@switchvoice.com Sent: Saturday, April 4, 2015 03:18 To: pjsip list Subject: [pjsip] Inband DTMF Hi Gents, I am tiring to integrate analog phone thru SLIC from Silicon labs to the pjsip. Thanks to the help from the this mailing list I have managed to move the task up to the point I have clean audio between my analog phone and a sip client analog_phone - pjsip <---> (Asterisk SIP server) <---> SIP client My SLIC doesn’t have built in DTMF detection. I just read that pjmedia doesn’t support inband DTMF detection. Can you please confirm/refuse that ? If DTMF doesn’t supported I am willing to borrow the inband DTMF detection from Asterisk or some other open implementation and put it in pjmedia. Do you see benefits for the project? As I am very new to pjsip I am not sure which will be the native way to integrate such a detector in pjsip. Is someone willing to advice me on the best way to put DTMF detection in the pjmedia? Thanks Dimitar -------------------------------------------------------------------------------- _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
VA
varun ahluwalia
Tue, Apr 7, 2015 1:01 PM

Hi Dimitar,

In which scenario do you expect the SIP client to process Incoming DTMF?
DTMFs are generally used in outward direction (from client to Server).

Can you change the mode to SIP INFO for DTMF at Asterisk and try?
PJ supports INFO.. So, you might be able to detect Inward DTMF as well.

Or are you trying to use PJ at the Server itself?

regards,

On Mon, Apr 6, 2015 at 5:27 PM, dpn@switchvoice.com wrote:

Hi Gents,

I have added dtmf detection to my tdm audio device.
I have used spandsp tdmf detection which appears to work fine for my
application.

Now I am wondering what would be the best way to pass the dialed extension
from my audio_device to the pjsua application layer.
The spandsp dtmf allows an on_dtmf() callback to be hooked so we can have
notification on each digit.

Any comments will be appreciated.
Dimitar

From: dpn@switchvoice.com
Sent: Saturday, April 4, 2015 03:18
To: pjsip list pjsip@lists.pjsip.org
Subject: [pjsip] Inband DTMF

Hi Gents,

I am tiring to integrate analog phone thru SLIC from Silicon labs to the
pjsip.
Thanks to the help from the this mailing list I have managed to move the
task
up to the point I have clean audio between my analog phone and a sip
client
analog_phone - pjsip <---> (Asterisk SIP server) <---> SIP client

My SLIC doesn’t have built in DTMF detection.
I just read that pjmedia doesn’t support inband DTMF detection.
Can you please confirm/refuse that ?

If DTMF doesn’t supported I am willing to borrow the inband DTMF detection
from Asterisk or some other open implementation and  put it in pjmedia.
Do you see benefits for the project?

As I am very new to pjsip I am not sure which will be the native way to
integrate such a detector in pjsip.
Is someone willing to advice me on the best way to put DTMF detection in
the pjmedia?

Thanks
Dimitar



Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

--
Varun.

Hi Dimitar, In which scenario do you expect the SIP client to process Incoming DTMF? DTMFs are generally used in outward direction (from client to Server). Can you change the mode to SIP INFO for DTMF at Asterisk and try? PJ supports INFO.. So, you might be able to detect Inward DTMF as well. Or are you trying to use PJ at the Server itself? regards, On Mon, Apr 6, 2015 at 5:27 PM, <dpn@switchvoice.com> wrote: > Hi Gents, > > I have added dtmf detection to my tdm audio device. > I have used spandsp tdmf detection which appears to work fine for my > application. > > Now I am wondering what would be the best way to pass the dialed extension > from my audio_device to the pjsua application layer. > The spandsp dtmf allows an on_dtmf() callback to be hooked so we can have > notification on each digit. > > Any comments will be appreciated. > Dimitar > > > > *From:* dpn@switchvoice.com > *Sent:* Saturday, April 4, 2015 03:18 > *To:* pjsip list <pjsip@lists.pjsip.org> > *Subject:* [pjsip] Inband DTMF > > Hi Gents, > > I am tiring to integrate analog phone thru SLIC from Silicon labs to the > pjsip. > Thanks to the help from the this mailing list I have managed to move the > task > up to the point I have clean audio between my analog phone and a sip > client > analog_phone - pjsip <---> (Asterisk SIP server) <---> SIP client > > My SLIC doesn’t have built in DTMF detection. > I just read that pjmedia doesn’t support inband DTMF detection. > Can you please confirm/refuse that ? > > If DTMF doesn’t supported I am willing to borrow the inband DTMF detection > from Asterisk or some other open implementation and put it in pjmedia. > Do you see benefits for the project? > > As I am very new to pjsip I am not sure which will be the native way to > integrate such a detector in pjsip. > Is someone willing to advice me on the best way to put DTMF detection in > the pjmedia? > > Thanks > Dimitar > > ------------------------------ > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > -- Varun.
BG
Bill Gardner
Tue, Apr 7, 2015 1:03 PM

Hi Dimitar,

You could try to duplicate the method currently used to get dtmf
callbacks from incoming RTP, renaming things appropriately.

Even simpler, but really a hack, would be to define a new audio device
capability that would let the main loop poll the audio device for DTMF
events using the pjsip audio capabilities infrastructure. You'd have to
locally queue the incoming DTMF events in your device and periodically
check them from your main loop using a timer event. There isn't anything
built in that lets the audio device generate an application callback.

Regards,

Bill

On 4/6/15 5:27 PM, dpn@switchvoice.com wrote:

Hi Gents,
I have added dtmf detection to my tdm audio device.
I have used spandsp tdmf detection which appears to work fine for my
application.
Now I am wondering what would be the best way to pass the dialed
extension from my audio_device to the pjsua application layer.
The spandsp dtmf allows an on_dtmf() callback to be hooked so we can
have notification on each digit.
Any comments will be appreciated.
Dimitar
From: dpn@switchvoice.com mailto:dpn@switchvoice.com
Sent: Saturday, April 4, 2015 03:18
To: pjsip list mailto:pjsip@lists.pjsip.org
Subject: [pjsip] Inband DTMF
Hi Gents,
I am tiring to integrate analog phone thru SLIC from Silicon labs to
the pjsip.
Thanks to the help from the this mailing list I have managed to move
the task
up to the point I have clean audio between my analog phone and a sip
client
analog_phone - pjsip <---> (Asterisk SIP server) <---> SIP client
My SLIC doesn’t have built in DTMF detection.
I just read that pjmedia doesn’t support inband DTMF detection.
Can you please confirm/refuse that ?
If DTMF doesn’t supported I am willing to borrow the inband DTMF
detection
from Asterisk or some other open implementation and  put it in pjmedia.
Do you see benefits for the project?
As I am very new to pjsip I am not sure which will be the native way
to integrate such a detector in pjsip.
Is someone willing to advice me on the best way to put DTMF detection
in the pjmedia?
Thanks
Dimitar



Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

Hi Dimitar, You could try to duplicate the method currently used to get dtmf callbacks from incoming RTP, renaming things appropriately. Even simpler, but really a hack, would be to define a new audio device capability that would let the main loop poll the audio device for DTMF events using the pjsip audio capabilities infrastructure. You'd have to locally queue the incoming DTMF events in your device and periodically check them from your main loop using a timer event. There isn't anything built in that lets the audio device generate an application callback. Regards, Bill On 4/6/15 5:27 PM, dpn@switchvoice.com wrote: > Hi Gents, > I have added dtmf detection to my tdm audio device. > I have used spandsp tdmf detection which appears to work fine for my > application. > Now I am wondering what would be the best way to pass the dialed > extension from my audio_device to the pjsua application layer. > The spandsp dtmf allows an on_dtmf() callback to be hooked so we can > have notification on each digit. > Any comments will be appreciated. > Dimitar > *From:* dpn@switchvoice.com <mailto:dpn@switchvoice.com> > *Sent:* Saturday, April 4, 2015 03:18 > *To:* pjsip list <mailto:pjsip@lists.pjsip.org> > *Subject:* [pjsip] Inband DTMF > Hi Gents, > I am tiring to integrate analog phone thru SLIC from Silicon labs to > the pjsip. > Thanks to the help from the this mailing list I have managed to move > the task > up to the point I have clean audio between my analog phone and a sip > client > analog_phone - pjsip <---> (Asterisk SIP server) <---> SIP client > My SLIC doesn’t have built in DTMF detection. > I just read that pjmedia doesn’t support inband DTMF detection. > Can you please confirm/refuse that ? > If DTMF doesn’t supported I am willing to borrow the inband DTMF > detection > from Asterisk or some other open implementation and put it in pjmedia. > Do you see benefits for the project? > As I am very new to pjsip I am not sure which will be the native way > to integrate such a detector in pjsip. > Is someone willing to advice me on the best way to put DTMF detection > in the pjmedia? > Thanks > Dimitar > > ------------------------------------------------------------------------ > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
D
dpn (at) switchvoice.com
Tue, Apr 7, 2015 1:24 PM

Hi Varun,

Sorry I was probably not explained well.

I am trying to use pjsip with an analog phone connected to it.
As soon as analog phone pickup and dial an extension
I have to recognize the dtmf generated by the phone and
do a sip call using pjsip stack to an external SIP server.

Thanks
Dimitar

From: varun ahluwalia
Sent: Tuesday, April 7, 2015 16:01
To: pjsip list
Subject: Re: [pjsip] Inband DTMF

Hi Dimitar,

In which scenario do you expect the SIP client to process Incoming DTMF?
DTMFs are generally used in outward direction (from client to Server).

Can you change the mode to SIP INFO for DTMF at Asterisk and try?
PJ supports INFO.. So, you might be able to detect Inward DTMF as well.

Or are you trying to use PJ at the Server itself?

regards,

On Mon, Apr 6, 2015 at 5:27 PM, dpn@switchvoice.com wrote:

Hi Gents,

I have added dtmf detection to my tdm audio device.
I have used spandsp tdmf detection which appears to work fine for my application.

Now I am wondering what would be the best way to pass the dialed extension from my audio_device to the pjsua application layer.
The spandsp dtmf allows an on_dtmf() callback to be hooked so we can have notification on each digit.

Any comments will be appreciated.
Dimitar

From: dpn@switchvoice.com
Sent: Saturday, April 4, 2015 03:18
To: pjsip list
Subject: [pjsip] Inband DTMF

Hi Gents,

I am tiring to integrate analog phone thru SLIC from Silicon labs to the pjsip.
Thanks to the help from the this mailing list I have managed to move the task
up to the point I have clean audio between my analog phone and a sip client
analog_phone - pjsip <---> (Asterisk SIP server) <---> SIP client

My SLIC doesn’t have built in DTMF detection.
I just read that pjmedia doesn’t support inband DTMF detection.
Can you please confirm/refuse that ?

If DTMF doesn’t supported I am willing to borrow the inband DTMF detection
from Asterisk or some other open implementation and  put it in pjmedia.
Do you see benefits for the project?

As I am very new to pjsip I am not sure which will be the native way to integrate such a detector in pjsip.
Is someone willing to advice me on the best way to put DTMF detection in the pjmedia?

Thanks
Dimitar



Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

--

Varun.



Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

Hi Varun, Sorry I was probably not explained well. I am trying to use pjsip with an analog phone connected to it. As soon as analog phone pickup and dial an extension I have to recognize the dtmf generated by the phone and do a sip call using pjsip stack to an external SIP server. Thanks Dimitar From: varun ahluwalia Sent: Tuesday, April 7, 2015 16:01 To: pjsip list Subject: Re: [pjsip] Inband DTMF Hi Dimitar, In which scenario do you expect the SIP client to process Incoming DTMF? DTMFs are generally used in outward direction (from client to Server). Can you change the mode to SIP INFO for DTMF at Asterisk and try? PJ supports INFO.. So, you might be able to detect Inward DTMF as well. Or are you trying to use PJ at the Server itself? regards, On Mon, Apr 6, 2015 at 5:27 PM, <dpn@switchvoice.com> wrote: Hi Gents, I have added dtmf detection to my tdm audio device. I have used spandsp tdmf detection which appears to work fine for my application. Now I am wondering what would be the best way to pass the dialed extension from my audio_device to the pjsua application layer. The spandsp dtmf allows an on_dtmf() callback to be hooked so we can have notification on each digit. Any comments will be appreciated. Dimitar From: dpn@switchvoice.com Sent: Saturday, April 4, 2015 03:18 To: pjsip list Subject: [pjsip] Inband DTMF Hi Gents, I am tiring to integrate analog phone thru SLIC from Silicon labs to the pjsip. Thanks to the help from the this mailing list I have managed to move the task up to the point I have clean audio between my analog phone and a sip client analog_phone - pjsip <---> (Asterisk SIP server) <---> SIP client My SLIC doesn’t have built in DTMF detection. I just read that pjmedia doesn’t support inband DTMF detection. Can you please confirm/refuse that ? If DTMF doesn’t supported I am willing to borrow the inband DTMF detection from Asterisk or some other open implementation and put it in pjmedia. Do you see benefits for the project? As I am very new to pjsip I am not sure which will be the native way to integrate such a detector in pjsip. Is someone willing to advice me on the best way to put DTMF detection in the pjmedia? Thanks Dimitar ------------------------------------------------------------------------------ _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org -- Varun. -------------------------------------------------------------------------------- _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
D
dpn (at) switchvoice.com
Tue, Apr 7, 2015 1:29 PM

Hi Bill,

Thank you. You help is really appreciated!

I will dig in a code to get better view of what you are saying.

Best Regards
Dimitar

From: Bill Gardner
Sent: Tuesday, April 7, 2015 16:03
To: pjsip@lists.pjsip.org
Subject: Re: [pjsip] Inband DTMF

Hi Dimitar,

You could try to duplicate the method currently used to get dtmf callbacks from incoming RTP, renaming things appropriately.

Even simpler, but really a hack, would be to define a new audio device capability that would let the main loop poll the audio device for DTMF events using the pjsip audio capabilities infrastructure. You'd have to locally queue the incoming DTMF events in your device and periodically check them from your main loop using a timer event. There isn't anything built in that lets the audio device generate an application callback.

Regards,

Bill

On 4/6/15 5:27 PM, dpn@switchvoice.com wrote:

Hi Gents,

I have added dtmf detection to my tdm audio device.
I have used spandsp tdmf detection which appears to work fine for my application.

Now I am wondering what would be the best way to pass the dialed extension from my audio_device to the pjsua application layer.
The spandsp dtmf allows an on_dtmf() callback to be hooked so we can have notification on each digit.

Any comments will be appreciated.
Dimitar

From: dpn@switchvoice.com
Sent: Saturday, April 4, 2015 03:18
To: pjsip list
Subject: [pjsip] Inband DTMF

Hi Gents,

I am tiring to integrate analog phone thru SLIC from Silicon labs to the pjsip.
Thanks to the help from the this mailing list I have managed to move the task
up to the point I have clean audio between my analog phone and a sip client
analog_phone - pjsip <---> (Asterisk SIP server) <---> SIP client

My SLIC doesn’t have built in DTMF detection.
I just read that pjmedia doesn’t support inband DTMF detection.
Can you please confirm/refuse that ?

If DTMF doesn’t supported I am willing to borrow the inband DTMF detection
from Asterisk or some other open implementation and  put it in pjmedia.
Do you see benefits for the project?

As I am very new to pjsip I am not sure which will be the native way to integrate such a detector in pjsip.
Is someone willing to advice me on the best way to put DTMF detection in the pjmedia?

Thanks
Dimitar



Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org



Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

Hi Bill, Thank you. You help is really appreciated! I will dig in a code to get better view of what you are saying. Best Regards Dimitar From: Bill Gardner Sent: Tuesday, April 7, 2015 16:03 To: pjsip@lists.pjsip.org Subject: Re: [pjsip] Inband DTMF Hi Dimitar, You could try to duplicate the method currently used to get dtmf callbacks from incoming RTP, renaming things appropriately. Even simpler, but really a hack, would be to define a new audio device capability that would let the main loop poll the audio device for DTMF events using the pjsip audio capabilities infrastructure. You'd have to locally queue the incoming DTMF events in your device and periodically check them from your main loop using a timer event. There isn't anything built in that lets the audio device generate an application callback. Regards, Bill On 4/6/15 5:27 PM, dpn@switchvoice.com wrote: Hi Gents, I have added dtmf detection to my tdm audio device. I have used spandsp tdmf detection which appears to work fine for my application. Now I am wondering what would be the best way to pass the dialed extension from my audio_device to the pjsua application layer. The spandsp dtmf allows an on_dtmf() callback to be hooked so we can have notification on each digit. Any comments will be appreciated. Dimitar From: dpn@switchvoice.com Sent: Saturday, April 4, 2015 03:18 To: pjsip list Subject: [pjsip] Inband DTMF Hi Gents, I am tiring to integrate analog phone thru SLIC from Silicon labs to the pjsip. Thanks to the help from the this mailing list I have managed to move the task up to the point I have clean audio between my analog phone and a sip client analog_phone - pjsip <---> (Asterisk SIP server) <---> SIP client My SLIC doesn’t have built in DTMF detection. I just read that pjmedia doesn’t support inband DTMF detection. Can you please confirm/refuse that ? If DTMF doesn’t supported I am willing to borrow the inband DTMF detection from Asterisk or some other open implementation and put it in pjmedia. Do you see benefits for the project? As I am very new to pjsip I am not sure which will be the native way to integrate such a detector in pjsip. Is someone willing to advice me on the best way to put DTMF detection in the pjmedia? Thanks Dimitar ------------------------------------------------------------------------------ _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org -------------------------------------------------------------------------------- _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
BG
Bill Gardner
Tue, Apr 7, 2015 2:13 PM

You could also bypass pjsip entirely and just have your main loop poll
your DTMF code directly, instead of using the capabilities
infrastructure. You'll need locks to protect the dtmf event queue either
way because the audio driver is a different thread than the application.

Bill

On 4/7/15 9:29 AM, dpn@switchvoice.com wrote:

Hi Bill,
Thank you. You help is really appreciated!
I will dig in a code to get better view of what you are saying.
Best Regards
Dimitar
From: Bill Gardner mailto:billg@wavearts.com
Sent: Tuesday, April 7, 2015 16:03
To: pjsip@lists.pjsip.org mailto:pjsip@lists.pjsip.org
Subject: Re: [pjsip] Inband DTMF
Hi Dimitar,

You could try to duplicate the method currently used to get dtmf
callbacks from incoming RTP, renaming things appropriately.

Even simpler, but really a hack, would be to define a new audio device
capability that would let the main loop poll the audio device for DTMF
events using the pjsip audio capabilities infrastructure. You'd have
to locally queue the incoming DTMF events in your device and
periodically check them from your main loop using a timer event. There
isn't anything built in that lets the audio device generate an
application callback.

Regards,

Bill

On 4/6/15 5:27 PM, dpn@switchvoice.com wrote:

Hi Gents,
I have added dtmf detection to my tdm audio device.
I have used spandsp tdmf detection which appears to work fine for my
application.
Now I am wondering what would be the best way to pass the dialed
extension from my audio_device to the pjsua application layer.
The spandsp dtmf allows an on_dtmf() callback to be hooked so we can
have notification on each digit.
Any comments will be appreciated.
Dimitar
From: dpn@switchvoice.com mailto:dpn@switchvoice.com
Sent: Saturday, April 4, 2015 03:18
To: pjsip list mailto:pjsip@lists.pjsip.org
Subject: [pjsip] Inband DTMF
Hi Gents,
I am tiring to integrate analog phone thru SLIC from Silicon labs to
the pjsip.
Thanks to the help from the this mailing list I have managed to move
the task
up to the point I have clean audio between my analog phone and a sip
client
analog_phone - pjsip <---> (Asterisk SIP server) <---> SIP client
My SLIC doesn’t have built in DTMF detection.
I just read that pjmedia doesn’t support inband DTMF detection.
Can you please confirm/refuse that ?
If DTMF doesn’t supported I am willing to borrow the inband DTMF
detection
from Asterisk or some other open implementation and  put it in pjmedia.
Do you see benefits for the project?
As I am very new to pjsip I am not sure which will be the native way
to integrate such a detector in pjsip.
Is someone willing to advice me on the best way to put DTMF detection
in the pjmedia?
Thanks
Dimitar


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org


Visit our blog:http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

You could also bypass pjsip entirely and just have your main loop poll your DTMF code directly, instead of using the capabilities infrastructure. You'll need locks to protect the dtmf event queue either way because the audio driver is a different thread than the application. Bill On 4/7/15 9:29 AM, dpn@switchvoice.com wrote: > Hi Bill, > Thank you. You help is really appreciated! > I will dig in a code to get better view of what you are saying. > Best Regards > Dimitar > *From:* Bill Gardner <mailto:billg@wavearts.com> > *Sent:* Tuesday, April 7, 2015 16:03 > *To:* pjsip@lists.pjsip.org <mailto:pjsip@lists.pjsip.org> > *Subject:* Re: [pjsip] Inband DTMF > Hi Dimitar, > > You could try to duplicate the method currently used to get dtmf > callbacks from incoming RTP, renaming things appropriately. > > Even simpler, but really a hack, would be to define a new audio device > capability that would let the main loop poll the audio device for DTMF > events using the pjsip audio capabilities infrastructure. You'd have > to locally queue the incoming DTMF events in your device and > periodically check them from your main loop using a timer event. There > isn't anything built in that lets the audio device generate an > application callback. > > Regards, > > Bill > > On 4/6/15 5:27 PM, dpn@switchvoice.com wrote: >> Hi Gents, >> I have added dtmf detection to my tdm audio device. >> I have used spandsp tdmf detection which appears to work fine for my >> application. >> Now I am wondering what would be the best way to pass the dialed >> extension from my audio_device to the pjsua application layer. >> The spandsp dtmf allows an on_dtmf() callback to be hooked so we can >> have notification on each digit. >> Any comments will be appreciated. >> Dimitar >> *From:* dpn@switchvoice.com <mailto:dpn@switchvoice.com> >> *Sent:* Saturday, April 4, 2015 03:18 >> *To:* pjsip list <mailto:pjsip@lists.pjsip.org> >> *Subject:* [pjsip] Inband DTMF >> Hi Gents, >> I am tiring to integrate analog phone thru SLIC from Silicon labs to >> the pjsip. >> Thanks to the help from the this mailing list I have managed to move >> the task >> up to the point I have clean audio between my analog phone and a sip >> client >> analog_phone - pjsip <---> (Asterisk SIP server) <---> SIP client >> My SLIC doesn’t have built in DTMF detection. >> I just read that pjmedia doesn’t support inband DTMF detection. >> Can you please confirm/refuse that ? >> If DTMF doesn’t supported I am willing to borrow the inband DTMF >> detection >> from Asterisk or some other open implementation and put it in pjmedia. >> Do you see benefits for the project? >> As I am very new to pjsip I am not sure which will be the native way >> to integrate such a detector in pjsip. >> Is someone willing to advice me on the best way to put DTMF detection >> in the pjmedia? >> Thanks >> Dimitar >> ------------------------------------------------------------------------ >> _______________________________________________ >> Visit our blog: http://blog.pjsip.org >> >> pjsip mailing list >> pjsip@lists.pjsip.org >> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >> >> >> _______________________________________________ >> Visit our blog:http://blog.pjsip.org >> >> pjsip mailing list >> pjsip@lists.pjsip.org >> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > ------------------------------------------------------------------------ > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
D
dpn (at) switchvoice.com
Wed, Apr 8, 2015 1:14 PM

Hi Bill,

Yes this is what was simplest to be done indeed thanks again.
Now I have my DTM stream detected in the pjsua layer:

I have used simple_pjsua application as a template. If I get incoming sip call this application connects the call to my default tdm audio device.
While on call I can decode the DTMF and get this information to the application with no issues.

Now I would like to open my audio device as soon as I pickup the analog phone.
Probably I have to connect somehow my audio device to the null_device/null_port after I detect analog phone pick up, so my DTM detection routine start getting data?

All advices in this respect are welcome.

Thank you
Dimitar

From: Bill Gardner
Sent: Tuesday, April 7, 2015 17:13
To: pjsip@lists.pjsip.org
Subject: Re: [pjsip] Inband DTMF

You could also bypass pjsip entirely and just have your main loop poll your DTMF code directly, instead of using the capabilities infrastructure. You'll need locks to protect the dtmf event queue either way because the audio driver is a different thread than the application.

Bill

On 4/7/15 9:29 AM, dpn@switchvoice.com wrote:

Hi Bill,

Thank you. You help is really appreciated!

I will dig in a code to get better view of what you are saying.

Best Regards
Dimitar

From: Bill Gardner
Sent: Tuesday, April 7, 2015 16:03
To: pjsip@lists.pjsip.org
Subject: Re: [pjsip] Inband DTMF

Hi Dimitar,

You could try to duplicate the method currently used to get dtmf callbacks from incoming RTP, renaming things appropriately.

Even simpler, but really a hack, would be to define a new audio device capability that would let the main loop poll the audio device for DTMF events using the pjsip audio capabilities infrastructure. You'd have to locally queue the incoming DTMF events in your device and periodically check them from your main loop using a timer event. There isn't anything built in that lets the audio device generate an application callback.

Regards,

Bill

On 4/6/15 5:27 PM, dpn@switchvoice.com wrote:

Hi Gents,

I have added dtmf detection to my tdm audio device. 
I have used spandsp tdmf detection which appears to work fine for my application.

Now I am wondering what would be the best way to pass the dialed extension from my audio_device to the pjsua application layer.
The spandsp dtmf allows an on_dtmf() callback to be hooked so we can have notification on each digit.

Any comments will be appreciated.
Dimitar 



From: dpn@switchvoice.com 
Sent: Saturday, April 4, 2015 03:18
To: pjsip list 
Subject: [pjsip] Inband DTMF

Hi Gents,

I am tiring to integrate analog phone thru SLIC from Silicon labs to the pjsip.
Thanks to the help from the this mailing list I have managed to move the task 
up to the point I have clean audio between my analog phone and a sip client 
analog_phone - pjsip <---> (Asterisk SIP server) <---> SIP client

My SLIC doesn’t have built in DTMF detection. 
I just read that pjmedia doesn’t support inband DTMF detection. 
Can you please confirm/refuse that ? 

If DTMF doesn’t supported I am willing to borrow the inband DTMF detection 
from Asterisk or some other open implementation and  put it in pjmedia. 
Do you see benefits for the project?

As I am very new to pjsip I am not sure which will be the native way to integrate such a detector in pjsip. 
Is someone willing to advice me on the best way to put DTMF detection in the pjmedia?

Thanks
Dimitar

_______________________________________________
Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org



Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org



Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

Hi Bill, Yes this is what was simplest to be done indeed thanks again. Now I have my DTM stream detected in the pjsua layer: I have used simple_pjsua application as a template. If I get incoming sip call this application connects the call to my default tdm audio device. While on call I can decode the DTMF and get this information to the application with no issues. Now I would like to open my audio device as soon as I pickup the analog phone. Probably I have to connect somehow my audio device to the null_device/null_port after I detect analog phone pick up, so my DTM detection routine start getting data? All advices in this respect are welcome. Thank you Dimitar From: Bill Gardner Sent: Tuesday, April 7, 2015 17:13 To: pjsip@lists.pjsip.org Subject: Re: [pjsip] Inband DTMF You could also bypass pjsip entirely and just have your main loop poll your DTMF code directly, instead of using the capabilities infrastructure. You'll need locks to protect the dtmf event queue either way because the audio driver is a different thread than the application. Bill On 4/7/15 9:29 AM, dpn@switchvoice.com wrote: Hi Bill, Thank you. You help is really appreciated! I will dig in a code to get better view of what you are saying. Best Regards Dimitar From: Bill Gardner Sent: Tuesday, April 7, 2015 16:03 To: pjsip@lists.pjsip.org Subject: Re: [pjsip] Inband DTMF Hi Dimitar, You could try to duplicate the method currently used to get dtmf callbacks from incoming RTP, renaming things appropriately. Even simpler, but really a hack, would be to define a new audio device capability that would let the main loop poll the audio device for DTMF events using the pjsip audio capabilities infrastructure. You'd have to locally queue the incoming DTMF events in your device and periodically check them from your main loop using a timer event. There isn't anything built in that lets the audio device generate an application callback. Regards, Bill On 4/6/15 5:27 PM, dpn@switchvoice.com wrote: Hi Gents, I have added dtmf detection to my tdm audio device. I have used spandsp tdmf detection which appears to work fine for my application. Now I am wondering what would be the best way to pass the dialed extension from my audio_device to the pjsua application layer. The spandsp dtmf allows an on_dtmf() callback to be hooked so we can have notification on each digit. Any comments will be appreciated. Dimitar From: dpn@switchvoice.com Sent: Saturday, April 4, 2015 03:18 To: pjsip list Subject: [pjsip] Inband DTMF Hi Gents, I am tiring to integrate analog phone thru SLIC from Silicon labs to the pjsip. Thanks to the help from the this mailing list I have managed to move the task up to the point I have clean audio between my analog phone and a sip client analog_phone - pjsip <---> (Asterisk SIP server) <---> SIP client My SLIC doesn’t have built in DTMF detection. I just read that pjmedia doesn’t support inband DTMF detection. Can you please confirm/refuse that ? If DTMF doesn’t supported I am willing to borrow the inband DTMF detection from Asterisk or some other open implementation and put it in pjmedia. Do you see benefits for the project? As I am very new to pjsip I am not sure which will be the native way to integrate such a detector in pjsip. Is someone willing to advice me on the best way to put DTMF detection in the pjmedia? Thanks Dimitar ---------------------------------------------------------------------------- _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org ------------------------------------------------------------------------------ _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org -------------------------------------------------------------------------------- _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
D
dpn (at) switchvoice.com
Wed, Apr 8, 2015 1:24 PM

From the documentation:

Probably I have to follow http://www.pjsip.org/pjmedia/docs/html/group__audio__device__api.htm
starting from chapter “Creating audio streams” up to the point I start the pjmedia_aud_stream_start(stream);
Do you think this will do what I want?

Best Regards
Dimitar

From: dpn@switchvoice.com
Sent: Wednesday, April 8, 2015 16:14
To: pjsip@lists.pjsip.org
Subject: Re: [pjsip] Inband DTMF

Hi Bill,

Yes this is what was simplest to be done indeed thanks again.
Now I have my DTM stream detected in the pjsua layer:

I have used simple_pjsua application as a template. If I get incoming sip call this application connects the call to my default tdm audio device.
While on call I can decode the DTMF and get this information to the application with no issues.

Now I would like to open my audio device as soon as I pickup the analog phone.
Probably I have to connect somehow my audio device to the null_device/null_port after I detect analog phone pick up, so my DTM detection routine start getting data?

All advices in this respect are welcome.

Thank you
Dimitar

From: Bill Gardner
Sent: Tuesday, April 7, 2015 17:13
To: pjsip@lists.pjsip.org
Subject: Re: [pjsip] Inband DTMF

You could also bypass pjsip entirely and just have your main loop poll your DTMF code directly, instead of using the capabilities infrastructure. You'll need locks to protect the dtmf event queue either way because the audio driver is a different thread than the application.

Bill

On 4/7/15 9:29 AM, dpn@switchvoice.com wrote:

Hi Bill,

Thank you. You help is really appreciated!

I will dig in a code to get better view of what you are saying.

Best Regards
Dimitar

From: Bill Gardner
Sent: Tuesday, April 7, 2015 16:03
To: pjsip@lists.pjsip.org
Subject: Re: [pjsip] Inband DTMF

Hi Dimitar,

You could try to duplicate the method currently used to get dtmf callbacks from incoming RTP, renaming things appropriately.

Even simpler, but really a hack, would be to define a new audio device capability that would let the main loop poll the audio device for DTMF events using the pjsip audio capabilities infrastructure. You'd have to locally queue the incoming DTMF events in your device and periodically check them from your main loop using a timer event. There isn't anything built in that lets the audio device generate an application callback.

Regards,

Bill

On 4/6/15 5:27 PM, dpn@switchvoice.com wrote:

Hi Gents,

I have added dtmf detection to my tdm audio device. 
I have used spandsp tdmf detection which appears to work fine for my application.

Now I am wondering what would be the best way to pass the dialed extension from my audio_device to the pjsua application layer.
The spandsp dtmf allows an on_dtmf() callback to be hooked so we can have notification on each digit.

Any comments will be appreciated.
Dimitar 



From: dpn@switchvoice.com 
Sent: Saturday, April 4, 2015 03:18
To: pjsip list 
Subject: [pjsip] Inband DTMF

Hi Gents,

I am tiring to integrate analog phone thru SLIC from Silicon labs to the pjsip.
Thanks to the help from the this mailing list I have managed to move the task 
up to the point I have clean audio between my analog phone and a sip client 
analog_phone - pjsip <---> (Asterisk SIP server) <---> SIP client

My SLIC doesn’t have built in DTMF detection. 
I just read that pjmedia doesn’t support inband DTMF detection. 
Can you please confirm/refuse that ? 

If DTMF doesn’t supported I am willing to borrow the inband DTMF detection 
from Asterisk or some other open implementation and  put it in pjmedia. 
Do you see benefits for the project?

As I am very new to pjsip I am not sure which will be the native way to integrate such a detector in pjsip. 
Is someone willing to advice me on the best way to put DTMF detection in the pjmedia?

Thanks
Dimitar

_______________________________________________
Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org



Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org



Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org



Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

>From the documentation: Probably I have to follow http://www.pjsip.org/pjmedia/docs/html/group__audio__device__api.htm starting from chapter “Creating audio streams” up to the point I start the pjmedia_aud_stream_start(stream); Do you think this will do what I want? Best Regards Dimitar From: dpn@switchvoice.com Sent: Wednesday, April 8, 2015 16:14 To: pjsip@lists.pjsip.org Subject: Re: [pjsip] Inband DTMF Hi Bill, Yes this is what was simplest to be done indeed thanks again. Now I have my DTM stream detected in the pjsua layer: I have used simple_pjsua application as a template. If I get incoming sip call this application connects the call to my default tdm audio device. While on call I can decode the DTMF and get this information to the application with no issues. Now I would like to open my audio device as soon as I pickup the analog phone. Probably I have to connect somehow my audio device to the null_device/null_port after I detect analog phone pick up, so my DTM detection routine start getting data? All advices in this respect are welcome. Thank you Dimitar From: Bill Gardner Sent: Tuesday, April 7, 2015 17:13 To: pjsip@lists.pjsip.org Subject: Re: [pjsip] Inband DTMF You could also bypass pjsip entirely and just have your main loop poll your DTMF code directly, instead of using the capabilities infrastructure. You'll need locks to protect the dtmf event queue either way because the audio driver is a different thread than the application. Bill On 4/7/15 9:29 AM, dpn@switchvoice.com wrote: Hi Bill, Thank you. You help is really appreciated! I will dig in a code to get better view of what you are saying. Best Regards Dimitar From: Bill Gardner Sent: Tuesday, April 7, 2015 16:03 To: pjsip@lists.pjsip.org Subject: Re: [pjsip] Inband DTMF Hi Dimitar, You could try to duplicate the method currently used to get dtmf callbacks from incoming RTP, renaming things appropriately. Even simpler, but really a hack, would be to define a new audio device capability that would let the main loop poll the audio device for DTMF events using the pjsip audio capabilities infrastructure. You'd have to locally queue the incoming DTMF events in your device and periodically check them from your main loop using a timer event. There isn't anything built in that lets the audio device generate an application callback. Regards, Bill On 4/6/15 5:27 PM, dpn@switchvoice.com wrote: Hi Gents, I have added dtmf detection to my tdm audio device. I have used spandsp tdmf detection which appears to work fine for my application. Now I am wondering what would be the best way to pass the dialed extension from my audio_device to the pjsua application layer. The spandsp dtmf allows an on_dtmf() callback to be hooked so we can have notification on each digit. Any comments will be appreciated. Dimitar From: dpn@switchvoice.com Sent: Saturday, April 4, 2015 03:18 To: pjsip list Subject: [pjsip] Inband DTMF Hi Gents, I am tiring to integrate analog phone thru SLIC from Silicon labs to the pjsip. Thanks to the help from the this mailing list I have managed to move the task up to the point I have clean audio between my analog phone and a sip client analog_phone - pjsip <---> (Asterisk SIP server) <---> SIP client My SLIC doesn’t have built in DTMF detection. I just read that pjmedia doesn’t support inband DTMF detection. Can you please confirm/refuse that ? If DTMF doesn’t supported I am willing to borrow the inband DTMF detection from Asterisk or some other open implementation and put it in pjmedia. Do you see benefits for the project? As I am very new to pjsip I am not sure which will be the native way to integrate such a detector in pjsip. Is someone willing to advice me on the best way to put DTMF detection in the pjmedia? Thanks Dimitar ---------------------------------------------------------------------------- _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org ------------------------------------------------------------------------------ _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org -------------------------------------------------------------------------------- _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org -------------------------------------------------------------------------------- _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
D
dpn (at) switchvoice.com
Wed, Apr 8, 2015 2:45 PM

HI all,

It seems pjsua_conf_connect(0, 0); does a loopback and does what I need.

Thanks
Dimitar

From: dpn@switchvoice.com
Sent: Wednesday, April 8, 2015 16:24
To: pjsip@lists.pjsip.org
Subject: Re: [pjsip] Inband DTMF

From the documentation:

Probably I have to follow http://www.pjsip.org/pjmedia/docs/html/group__audio__device__api.htm
starting from chapter “Creating audio streams” up to the point I start the pjmedia_aud_stream_start(stream);
Do you think this will do what I want?

Best Regards
Dimitar

From: dpn@switchvoice.com
Sent: Wednesday, April 8, 2015 16:14
To: pjsip@lists.pjsip.org
Subject: Re: [pjsip] Inband DTMF

Hi Bill,

Yes this is what was simplest to be done indeed thanks again.
Now I have my DTM stream detected in the pjsua layer:

I have used simple_pjsua application as a template. If I get incoming sip call this application connects the call to my default tdm audio device.
While on call I can decode the DTMF and get this information to the application with no issues.

Now I would like to open my audio device as soon as I pickup the analog phone.
Probably I have to connect somehow my audio device to the null_device/null_port after I detect analog phone pick up, so my DTM detection routine start getting data?

All advices in this respect are welcome.

Thank you
Dimitar

From: Bill Gardner
Sent: Tuesday, April 7, 2015 17:13
To: pjsip@lists.pjsip.org
Subject: Re: [pjsip] Inband DTMF

You could also bypass pjsip entirely and just have your main loop poll your DTMF code directly, instead of using the capabilities infrastructure. You'll need locks to protect the dtmf event queue either way because the audio driver is a different thread than the application.

Bill

On 4/7/15 9:29 AM, dpn@switchvoice.com wrote:

Hi Bill,

Thank you. You help is really appreciated!

I will dig in a code to get better view of what you are saying.

Best Regards
Dimitar

From: Bill Gardner
Sent: Tuesday, April 7, 2015 16:03
To: pjsip@lists.pjsip.org
Subject: Re: [pjsip] Inband DTMF

Hi Dimitar,

You could try to duplicate the method currently used to get dtmf callbacks from incoming RTP, renaming things appropriately.

Even simpler, but really a hack, would be to define a new audio device capability that would let the main loop poll the audio device for DTMF events using the pjsip audio capabilities infrastructure. You'd have to locally queue the incoming DTMF events in your device and periodically check them from your main loop using a timer event. There isn't anything built in that lets the audio device generate an application callback.

Regards,

Bill

On 4/6/15 5:27 PM, dpn@switchvoice.com wrote:

Hi Gents,

I have added dtmf detection to my tdm audio device. 
I have used spandsp tdmf detection which appears to work fine for my application.

Now I am wondering what would be the best way to pass the dialed extension from my audio_device to the pjsua application layer.
The spandsp dtmf allows an on_dtmf() callback to be hooked so we can have notification on each digit.

Any comments will be appreciated.
Dimitar 



From: dpn@switchvoice.com 
Sent: Saturday, April 4, 2015 03:18
To: pjsip list 
Subject: [pjsip] Inband DTMF

Hi Gents,

I am tiring to integrate analog phone thru SLIC from Silicon labs to the pjsip.
Thanks to the help from the this mailing list I have managed to move the task 
up to the point I have clean audio between my analog phone and a sip client 
analog_phone - pjsip <---> (Asterisk SIP server) <---> SIP client

My SLIC doesn’t have built in DTMF detection. 
I just read that pjmedia doesn’t support inband DTMF detection. 
Can you please confirm/refuse that ? 

If DTMF doesn’t supported I am willing to borrow the inband DTMF detection 
from Asterisk or some other open implementation and  put it in pjmedia. 
Do you see benefits for the project?

As I am very new to pjsip I am not sure which will be the native way to integrate such a detector in pjsip. 
Is someone willing to advice me on the best way to put DTMF detection in the pjmedia?

Thanks
Dimitar

_______________________________________________
Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org



Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org



Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org



Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org



Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

HI all, It seems pjsua_conf_connect(0, 0); does a loopback and does what I need. Thanks Dimitar From: dpn@switchvoice.com Sent: Wednesday, April 8, 2015 16:24 To: pjsip@lists.pjsip.org Subject: Re: [pjsip] Inband DTMF >From the documentation: Probably I have to follow http://www.pjsip.org/pjmedia/docs/html/group__audio__device__api.htm starting from chapter “Creating audio streams” up to the point I start the pjmedia_aud_stream_start(stream); Do you think this will do what I want? Best Regards Dimitar From: dpn@switchvoice.com Sent: Wednesday, April 8, 2015 16:14 To: pjsip@lists.pjsip.org Subject: Re: [pjsip] Inband DTMF Hi Bill, Yes this is what was simplest to be done indeed thanks again. Now I have my DTM stream detected in the pjsua layer: I have used simple_pjsua application as a template. If I get incoming sip call this application connects the call to my default tdm audio device. While on call I can decode the DTMF and get this information to the application with no issues. Now I would like to open my audio device as soon as I pickup the analog phone. Probably I have to connect somehow my audio device to the null_device/null_port after I detect analog phone pick up, so my DTM detection routine start getting data? All advices in this respect are welcome. Thank you Dimitar From: Bill Gardner Sent: Tuesday, April 7, 2015 17:13 To: pjsip@lists.pjsip.org Subject: Re: [pjsip] Inband DTMF You could also bypass pjsip entirely and just have your main loop poll your DTMF code directly, instead of using the capabilities infrastructure. You'll need locks to protect the dtmf event queue either way because the audio driver is a different thread than the application. Bill On 4/7/15 9:29 AM, dpn@switchvoice.com wrote: Hi Bill, Thank you. You help is really appreciated! I will dig in a code to get better view of what you are saying. Best Regards Dimitar From: Bill Gardner Sent: Tuesday, April 7, 2015 16:03 To: pjsip@lists.pjsip.org Subject: Re: [pjsip] Inband DTMF Hi Dimitar, You could try to duplicate the method currently used to get dtmf callbacks from incoming RTP, renaming things appropriately. Even simpler, but really a hack, would be to define a new audio device capability that would let the main loop poll the audio device for DTMF events using the pjsip audio capabilities infrastructure. You'd have to locally queue the incoming DTMF events in your device and periodically check them from your main loop using a timer event. There isn't anything built in that lets the audio device generate an application callback. Regards, Bill On 4/6/15 5:27 PM, dpn@switchvoice.com wrote: Hi Gents, I have added dtmf detection to my tdm audio device. I have used spandsp tdmf detection which appears to work fine for my application. Now I am wondering what would be the best way to pass the dialed extension from my audio_device to the pjsua application layer. The spandsp dtmf allows an on_dtmf() callback to be hooked so we can have notification on each digit. Any comments will be appreciated. Dimitar From: dpn@switchvoice.com Sent: Saturday, April 4, 2015 03:18 To: pjsip list Subject: [pjsip] Inband DTMF Hi Gents, I am tiring to integrate analog phone thru SLIC from Silicon labs to the pjsip. Thanks to the help from the this mailing list I have managed to move the task up to the point I have clean audio between my analog phone and a sip client analog_phone - pjsip <---> (Asterisk SIP server) <---> SIP client My SLIC doesn’t have built in DTMF detection. I just read that pjmedia doesn’t support inband DTMF detection. Can you please confirm/refuse that ? If DTMF doesn’t supported I am willing to borrow the inband DTMF detection from Asterisk or some other open implementation and put it in pjmedia. Do you see benefits for the project? As I am very new to pjsip I am not sure which will be the native way to integrate such a detector in pjsip. Is someone willing to advice me on the best way to put DTMF detection in the pjmedia? Thanks Dimitar ---------------------------------------------------------------------------- _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org ------------------------------------------------------------------------------ _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org -------------------------------------------------------------------------------- _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org -------------------------------------------------------------------------------- _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org -------------------------------------------------------------------------------- _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org