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™ - Technical Support
 LanScape Support Forum -> LanScape VOIP Media Engine™ - Technical Support
Subject Topic: Pound # being recorded in wave file Post ReplyPost New Topic
Author
Message << Prev Topic | Next Topic >>
ajdiaz
Junior
Junior


Joined: December 10 2007
Location: United States
Posts: 76
Posted: May 27 2009 at 7:31pm | IP Logged Quote ajdiaz

Hi Support,

We have a VOIP application that records a wave file and plays it back. The application first plays a wave beep, the user starts recording their message and when done hits the # key.

The issue we have is that the sound of the # key gets recorded inside the wave file. By the time we detect the # as DTMF and call StopRecording() the wave file contains the sound of the pound.

The big issue is that this wave file with the # sound was sent to a voicemail and the voicemail system interpreted the # sound as a key stroke and ended their recording before we were doing playing all the wave files we needed to play.

How can we stop the Media Engine from recording the # sound inside the wave file generated by LME StartRecording()?

Thanks.

AJDiaz
Back to Top View ajdiaz's Profile Search for other posts by ajdiaz
 
support
Administrator
Administrator


Joined: January 26 2005
Location: United States
Posts: 1666
Posted: May 28 2009 at 12:18pm | IP Logged Quote support

Hi Aj,

Thanks for waiting for this response. We are playing catch-up due to last weekend’s holiday.


Very interesting…

One way to stop this behavior is to only allow incoming calls to send to the media engine RFC2833 DTMF payload packets with non-interlaced DTMF audio. In other words, all SIP clients should be configured to only send pure RFC2833 DTMF payloads to the media engine when using DTMF. In this case, no audible DTMF tones will be recorded to your audio wave files.

If the above is not possible, there are a number of options that may exist.

1) Delayed Recording – internal to the media engine:
We could update the media engine to perform delayed call recording. We would probably add an additional parameter to the StartPhoneLineRecording() API procedure. A VOIP application could then specify a delay time that would be used when recording is active. For example, your app could specify 500Ms delay. This would allow your app to detect the DTMF digit and then call the StopPhoneLineRecording() API procedure. This would in effect place your application DTMF detect logic “ahead” of the actual phone line record audio – thus terminating recording before the audible in-band DTMF is written to the wave file.

2) Delayed Recording – inside your VOIP app:
In this case, you would have to stop using the StartPhoneLineRecording() and StopPhoneLineRecording() API procedures and record the received audio using the Rx IVR channel of each phone line. A bit “clunky” but will allow you to implement your own record delay logic. The end result would be the same as the above solution that we would implement natively.

3) Post processing of wave file audio:
In this scenario, your app could post process the recorded wave file using FFT or some other signal processing scheme to remove the recorded DTMF tone. We can discuss this in more detail if required.

If you want, see if you can obtain a WireShark network capture of a typical call that your system handles. I would like to see the RTP stream for the call. Upload the WireShark trace file to your support FTP account if you can.


Randal

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


Joined: January 26 2005
Location: United States
Posts: 1666
Posted: June 02 2009 at 9:50pm | IP Logged Quote support

Hi Aj,

Any further info regarding this issue?

Best,

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


Joined: December 10 2007
Location: United States
Posts: 76
Posted: June 03 2009 at 1:01pm | IP Logged Quote ajdiaz

Hi Support,

Thanks for the follow up. Yes, we are still having the issue.

We were looking to see if there is a lot of code between capturing the DTMF and stopping the recording, but there is not code much code between one method and the other.

The idea of having an additional argument to delay start/stop recording in the LME API, I believe would accomplish our goal. We could play with the delay until we see which setting works best for us, and if on a particular recording we do not need a delay, then we won't use it. Wouldn't you agree?

If you cannot think of any other suggestion, what would be the next step to make this happen?

Thanks,

-AJD
Back to Top View ajdiaz's Profile Search for other posts by ajdiaz
 
support
Administrator
Administrator


Joined: January 26 2005
Location: United States
Posts: 1666
Posted: June 04 2009 at 10:13am | IP Logged Quote support

Hi Aj,

<<< You
…We could play with the delay until we see which setting works best for us, and if on a particular recording we do not need a delay, then we won't use it. Wouldn't you agree?

Support >>>
Yes, that is exactly correct.

I would imagine that you would use a simple 500 millisecond record delay that would allow the end of the recorded wave file to not contain the in-band DTMF tone that the media engine is detecting. You would use this same delay record setting for all incoming IVR calls that you process and that are terminated with the ‘#’ key.


<<< You
If you cannot think of any other suggestion, what would be the next step to make this happen?

Support >>>
Because your team has a support agreement with us, I think we will simply add the new capability to the next version of the media engine (v6.0.0.13) and get an “engineering release” to you for evaluation and qualification testing. After you complete your testing, we can upgrade your current product images – no additional cost.


Best,

Randal

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


Joined: December 10 2007
Location: United States
Posts: 76
Posted: June 04 2009 at 5:37pm | IP Logged Quote ajdiaz

Hi Randal,

That would be great. Let's go ahead with the plan you are suggesting.

Please give us an estimated timeline.

Thanks again,

-AJD
Back to Top View ajdiaz's Profile Search for other posts by ajdiaz
 
support
Administrator
Administrator


Joined: January 26 2005
Location: United States
Posts: 1666
Posted: June 05 2009 at 9:22am | IP Logged Quote support

Hi Aj,

I think we should plan on getting you an updated image some time next week. Sorry – I can’t be more exact that this. We should be able to slip this update in with some of the other work we are completing.

I will post again to this thread when we have something ready for you.

Tell Matt I say hello.

Best,

Randal


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


Joined: January 26 2005
Location: United States
Posts: 1666
Posted: June 12 2009 at 1:40pm | IP Logged Quote support

Hi Aj,

We have updated your support FTP account with the latest “engineering release” media engine image v6.0.0.14. This image will function until the end of July. You can use this latest image for testing with your VOIP app builds. Do not use this image with your LanScape call tester app.


Item 1:
This updated media engine contains the “record delay” update we previously discussed. See the developers reference that comes with the image – specifically the StartPhoneLineRecording() API procedure. The RecordDelayMs parameter of the StartPhoneLineRecording() API procedure can be used to specify a record delay in milliseconds. Make sure to rebuild your app using the included media engine lib and header file. A record delay of 500Ms should be more than enough to remove any trailing ‘#’ DTMF in-band tone from your recorded call’s audio.

Item 2:
This media engine image addresses the release build assertion failures you brought to our attention in the following post:

Assertion Failed:
http://www.lanscapecorp.com/forum/forum_posts.asp?TID=588&PN =1

We would still like to get your SIP log for the calls that experienced the original issue.


Note that v6.0.0.14 is an “engineering release” and still must go through additional testing. If you experience any issues, please post back to this thread.

Thank you,


Randal


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


Joined: December 10 2007
Location: United States
Posts: 76
Posted: June 12 2009 at 1:57pm | IP Logged Quote ajdiaz

Hi Support,

Does v6.0.0.14 resolve the assertions issue, so that they do no longer fire?

-Alex
Back to Top View ajdiaz's Profile Search for other posts by ajdiaz
 
ajdiaz
Junior
Junior


Joined: December 10 2007
Location: United States
Posts: 76
Posted: June 12 2009 at 1:57pm | IP Logged Quote ajdiaz

Yes it does. Just read it. Sorry about that.

Thanks again.
Back to Top View ajdiaz's Profile Search for other posts by ajdiaz
 
ajdiaz
Junior
Junior


Joined: December 10 2007
Location: United States
Posts: 76
Posted: June 17 2009 at 8:28pm | IP Logged Quote ajdiaz

Support,

Tests so far indicate that we are not getting the 'Assertion Failed' message with version 6.0.0.14.

Also, we are taking advantage of the record delay parameter and it looks like it is working fine. The pound # DTMF sound previously being recorded is not in the wave file anymore. I think 300ms was what did it for us.

Thanks again.

-AJD
Back to Top View ajdiaz's Profile Search for other posts by ajdiaz
 
support
Administrator
Administrator


Joined: January 26 2005
Location: United States
Posts: 1666
Posted: June 18 2009 at 8:01am | IP Logged Quote support

Hi Alex,

Assertion failed:
Sounds good. I posted other info to support forum post:
http://www.lanscapecorp.com/forum/forum_posts.asp?TID=588&PN =1

Record delay:
300Ms sound good. Using that value for a record delay basically truncates the recorded end of file by 300Ms when recording gets turned OFF so you do not hear the DTMF in-band tone. Simple… but it works.

I will contact you again when the new media engine version has been released.


Thank you,


Randal

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