Return to LanScape's home page Go back a page...       Active TopicsActive Topics   Display List of Forum MembersMember List   Knowledge Base SearchSearch   HelpHelp  RegisterRegister  LoginLogin

LanScape VOIP Media Engine™ - Pre-Sales Technical Support
 LanScape Support Forum -> LanScape VOIP Media Engine™ - Pre-Sales Technical Support
Subject Topic: Regarding DTMF Action Post ReplyPost New Topic
Author
Message << Prev Topic | Next Topic >>
speedvoip
Vetran
Vetran


Joined: August 07 2008
Location: Canada
Posts: 156
Posted: October 20 2008 at 6:41am | IP Logged Quote speedvoip

Hi Support:
From latest media engine reference, RFC2833 is fully supported. Is it right? How to interact with upper application? Second issue, How to implement DTMF delivery upon SIP INFO? Is there code segment or full sample to demonstrate how to use it?

Thanks

George Lee
Back to Top View speedvoip's Profile Search for other posts by speedvoip Visit speedvoip's Homepage
 
support
Administrator
Administrator


Joined: January 26 2005
Location: United States
Posts: 1666
Posted: October 20 2008 at 1:25pm | IP Logged Quote support

Hi George,


You >>>
From latest media engine reference, RFC2833 is fully supported. Is it right?

<<< Support
Yes, RFC2833 DTMF detection and generation is fully supported. Nice stuff… rock solid.


You >>>
How to interact with upper application?

<<< Support
To use RFC2833 DTMF is pretty simple. Your application code starts the media engine with RFC2833 DTMF enabled (a handful of startup parameters). Then for each phone line in your app that you want RFC2833 DTMF detection to be enabled you call a single API procedure SetRfc2833DtmfDecoderEnableState(). That is all there is to it. Your VOIP app can then generate RFC2833 out-of-band DTMF using the StartDtmfTone() and StopDtmfTone() API procs. DTMF detection is even simpler, the media engine will automatically send your app DTMF ON and OFF related events on a per-phone-line basis whenever received RFC2833 DTMF is detected.


You >>>
How to implement DTMF delivery upon SIP INFO?

<<< Support
This last year we deliberated over the support of DTMF via SIP INFO requests. We handle in-band DTMF generation and detection (must use lossless codecs for calls) and we fully support RFC2833 DTMF generation and detection. RFC2833 DTMF generation and detection is rock solid and we love it.

The media engine does not support DTMF via SIP INFO requests because of two factors: 1) Its non-standard. 2) It duplicated the RFC2833 DTMF capability the media engine supports.

It was a hard decision to not support SIP INFO DTMF but one we had to make.

The good news is that the media engine does not stop apps from receiving or generating SIP INFO DTMF requests and responses. It’s a bit clunky to do but completely possible.

If your app requires DTMF detection using SIP INFO messages, your app can receive the raw SIP messages (see the SipModifySipMessage event), inspect them and determine the DTMF digit request(s) contained. Your app then must formulate its own “200 OK” response and then transmit the SIP response back to the far end using the SendUdpDatagramUsingSipPort() API proc.

Like I said, a bit clunky but completely possible.

To transmit SIP INFO DTMF, your app will have to construct its own SIP INFO message al on its own. Transmit this SIP message to the far end using the SendUdpDatagramUsingSipPort() API proc and process the response from the far end. Transmitting INFO DTMF is a bit harder that detection discussed above – but again, it completely possible and the media engine will not get in your way.

We may still eventually support DTMF via SIP INFO messages but it will take a back seat to other features yet to be released. Please try to use RFC2833 DTMF. Its already there and is more robust and much less susceptible to network lost packets, etc.



You >>>
Is there code segment or full sample to demonstrate how to use it?

<<< Support
The answer is YES if we are talking about RFC2833 generation and detection. The two soft phone C/C++ apps demonstrate both generation and detection. You will really like how easy it is to use.


One thing that would make good sense would be to have the media engine support INFO SIP messages and their responses in a generic fashion. This way we would handle all INFO SIP messages and DTMF would then be a special case of the base functionality.

Hmm.. Its something to think about because it would not be hard to implement at all… We will make a note of this.


Support


Back to Top View support's Profile Search for other posts by support Visit support's Homepage
 
speedvoip
Vetran
Vetran


Joined: August 07 2008
Location: Canada
Posts: 156
Posted: October 21 2008 at 1:29am | IP Logged Quote speedvoip

Thanks for your support. In fact, I think it is good way to handle SIP INFO message in generic fashion at media engine, because per RFC3261 SIP INFO request and response is only a pair of transaction, not belonging to dialog or session layer. So that is to say: SIP INFO do not change calleg state.
Moreover, derived from this point, I feel that media engine also supply API framework for building SIP generic message such as INFO.
Back to Top View speedvoip's Profile Search for other posts by speedvoip Visit speedvoip's Homepage
 
support
Administrator
Administrator


Joined: January 26 2005
Location: United States
Posts: 1666
Posted: October 21 2008 at 6:24am | IP Logged Quote support

Yes, exactly.

Back to Top View support's Profile Search for other posts by support Visit support's Homepage
 

If you wish to post a reply to this topic you must first login
If you are not already registered you must first register

  Post ReplyPost New Topic
Printable version Printable version

Forum Jump
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot delete your posts in this forum
You cannot edit your posts in this forum
You cannot create polls in this forum
You cannot vote in polls in this forum






Contact LanScape Hear what the Lawyers have to say How youm may use this site Read your privacy rights