Re: [pjsip] FW: Intergrating Fax Tone Detection support

BP
Benny Prijono
Tue, Oct 16, 2007 4:31 PM

Ravi Inder Singh wrote:

Hi Benny,

I am trying to add Fax Tone detection  support in PJSIP, I want to 

trigger my upper application about the Fax Detection, for that I need
Event Call back from Media i.e. Fax tone has been detected. After going
in some details of PJ-Media code I came across that this it is quite
similar like detecting RFC2833 (Digit) Event i.e. Register Event as soon
as the call is connected in pjsua_call.c in
pjmedia_session_set_dtmf_callback function.

I came out to this solution only. I need the better way of doing it,
if it is available.

Hi Ravi,

another, perhaps cleaner, solution is to implement a media port to
detect the fax tone. There are few articles in PJSIP FAQ which
describes about implementing media ports, please see
http://www.pjsip.org/trac/wiki/FAQ

Once you've implemented the tone detection media port, you can
register it to the conference bridge and connect it to the call to
start listening for the tone.

I prefer this solution since it doesn't need any modification to
stream.c. RFC 2833 digit was implemented differently since it needs
to work on the RTP packet level rather than PCM level, thus it needs
to reside in stream.c.

cheers,
-benny

Looking forward for quick response.

Thanks & Regards,

Ravi Inder Singh



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

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

--
Benny Prijono
http://www.pjsip.org

Ravi Inder Singh wrote: > > Hi Benny, > > I am trying to add Fax Tone detection support in PJSIP, I want to > trigger my upper application about the Fax Detection, for that I need > Event Call back from Media i.e. Fax tone has been detected. After going > in some details of PJ-Media code I came across that this it is quite > similar like detecting RFC2833 (Digit) Event i.e. Register Event as soon > as the call is connected in pjsua_call.c in > pjmedia_session_set_dtmf_callback function. > > I came out to this solution only. I need the better way of doing it, > if it is available. Hi Ravi, another, perhaps cleaner, solution is to implement a media port to detect the fax tone. There are few articles in PJSIP FAQ which describes about implementing media ports, please see http://www.pjsip.org/trac/wiki/FAQ Once you've implemented the tone detection media port, you can register it to the conference bridge and connect it to the call to start listening for the tone. I prefer this solution since it doesn't need any modification to stream.c. RFC 2833 digit was implemented differently since it needs to work on the RTP packet level rather than PCM level, thus it needs to reside in stream.c. cheers, -benny > > Looking forward for quick response. > > Thanks & Regards, > > Ravi Inder Singh > > > > > > > ------------------------------------------------------------------------ > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org -- Benny Prijono http://www.pjsip.org
RI
Ravi Inder Singh
Thu, Oct 18, 2007 2:06 PM

Hi Benny,
I cannot be so sure that by adding Media Port this problem can be
resolved, as my requirement is for adding Answering Fax Machine, i.e. Media
port two functions, which both cannot resolve my issue.
a) get_frame () --> Conference bridge will get frames from this Media port.
Mem_player.c works like this only.

b) put_frame () --> This will save to PCM frames to a buffer but these PCM
frames will come from Sound Port i.e. MIC.

This is my understanding, please correct me if I am wrong on this.

My requirement is to detect

a) Answering Fax Machine detection --> which can be done by scanning
incoming Frames after they have been decoded in stream.c

b) Answering Machine detection --> This should be done only when 200 OK
has been received from other side. Is there any way to handle from
application, to enable Media port only when 200 Ok has been received.

Regards,
Ravi Inder Singh.

-----Original Message-----
From: pjsip-bounces@lists.pjsip.org [mailto:pjsip-bounces@lists.pjsip.org]
On Behalf Of Benny Prijono
Sent: Tuesday, October 16, 2007 10:02 PM
To: pjsip embedded/DSP SIP discussion
Subject: Re: [pjsip] FW: Intergrating Fax Tone Detection support

Ravi Inder Singh wrote:

Hi Benny,

I am trying to add Fax Tone detection  support in PJSIP, I want to 

trigger my upper application about the Fax Detection, for that I need
Event Call back from Media i.e. Fax tone has been detected. After going
in some details of PJ-Media code I came across that this it is quite
similar like detecting RFC2833 (Digit) Event i.e. Register Event as soon
as the call is connected in pjsua_call.c in
pjmedia_session_set_dtmf_callback function.

I came out to this solution only. I need the better way of doing it,
if it is available.

Hi Ravi,

another, perhaps cleaner, solution is to implement a media port to
detect the fax tone. There are few articles in PJSIP FAQ which
describes about implementing media ports, please see
http://www.pjsip.org/trac/wiki/FAQ

Once you've implemented the tone detection media port, you can
register it to the conference bridge and connect it to the call to
start listening for the tone.

I prefer this solution since it doesn't need any modification to
stream.c. RFC 2833 digit was implemented differently since it needs
to work on the RTP packet level rather than PCM level, thus it needs
to reside in stream.c.

cheers,
-benny

Looking forward for quick response.

Thanks & Regards,

Ravi Inder Singh



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 Benny, I cannot be so sure that by adding Media Port this problem can be resolved, as my requirement is for adding Answering Fax Machine, i.e. Media port two functions, which both cannot resolve my issue. a) get_frame () --> Conference bridge will get frames from this Media port. Mem_player.c works like this only. b) put_frame () --> This will save to PCM frames to a buffer but these PCM frames will come from Sound Port i.e. MIC. This is my understanding, please correct me if I am wrong on this. My requirement is to detect a) Answering Fax Machine detection --> which can be done by scanning incoming Frames after they have been decoded in stream.c b) Answering Machine detection --> This should be done only when 200 OK has been received from other side. Is there any way to handle from application, to enable Media port only when 200 Ok has been received. Regards, Ravi Inder Singh. -----Original Message----- From: pjsip-bounces@lists.pjsip.org [mailto:pjsip-bounces@lists.pjsip.org] On Behalf Of Benny Prijono Sent: Tuesday, October 16, 2007 10:02 PM To: pjsip embedded/DSP SIP discussion Subject: Re: [pjsip] FW: Intergrating Fax Tone Detection support Ravi Inder Singh wrote: > > Hi Benny, > > I am trying to add Fax Tone detection support in PJSIP, I want to > trigger my upper application about the Fax Detection, for that I need > Event Call back from Media i.e. Fax tone has been detected. After going > in some details of PJ-Media code I came across that this it is quite > similar like detecting RFC2833 (Digit) Event i.e. Register Event as soon > as the call is connected in pjsua_call.c in > pjmedia_session_set_dtmf_callback function. > > I came out to this solution only. I need the better way of doing it, > if it is available. Hi Ravi, another, perhaps cleaner, solution is to implement a media port to detect the fax tone. There are few articles in PJSIP FAQ which describes about implementing media ports, please see http://www.pjsip.org/trac/wiki/FAQ Once you've implemented the tone detection media port, you can register it to the conference bridge and connect it to the call to start listening for the tone. I prefer this solution since it doesn't need any modification to stream.c. RFC 2833 digit was implemented differently since it needs to work on the RTP packet level rather than PCM level, thus it needs to reside in stream.c. cheers, -benny > > Looking forward for quick response. > > Thanks & Regards, > > Ravi Inder Singh > > > > > > > ------------------------------------------------------------------------ > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org -- Benny Prijono http://www.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