Recording with beep overlay in FreeSWITCH - freeswitch

We are experimenting with Freeswitch recording for outbound dialling. Currently stuck with two issues after reading many posts and issue lists:
Not able to play the beep tone to the receiver
If I use only the beep tone is heard for the receiving party.
If I use the beep tone is not heard to the receiving party but present in recording.
In the case of call transfer 2 recording files are generated. Is there anyway to ask freeswitch to merge them into one file?
Can RECORD_APPEND or Post Processing Recordings in the Dialplan will be an option to try out?

Related

Recording Call streams separately in FreeSWITCH

I am running a FreeSWITCH server that will function as a call-in radio show. What I want to do is create a platform that will enable the user to edit the show in post-production, which includes creating a custom show/object using the recorded audio.
How I want to do this is record each leg of the call separately, so that way I can record the host separately to the listener calling in. Is this recording action available in FreeSWITCH?
This Question on SO is related:
Call Recording in Freeswitch
and one of the answers mentions the
which according to the official wiki "is used for recording messages, like in a voicemail system".
The question is, Am I able to invoke this record action on both legs of the call? Or any equivalents that exist within FreeSWITCH?
if you set the variable RECORD_STEREO=true and use a FILENAME.wav file as recording destination, the resulting file will have two audio channels, for receiving and sending sides respectively. Then later you can split the channels by your favorite audio editing tool and do what is needed.

at commands to send image/ audio clip though sms

i have used AT commands previously to send a simple text message from PC to mobile via gsm modem. this is the link i referred to. However, I was wondering if is it possible to send images or short audio clips using AT commands. I have searched a lot but couldn't find any source. Any kind of help will be appreciated.
I don't think it's possible for a GSM modem. You may need a GPRS modem instead. But I wonder if there's a standard for sending MMS, although it's clear that some manufacturers have their own AT commands set. On my putal modem the commands are AT^UPLOADFILE, AT^MMSSEND and AT+EMMSEXE. You could refer to your own modem's dev manual.

WP7 background audio agent playstate

I read the instructions here about WP7 background audio player agent. I thought there is only 1 Unknown event and 1 Playing event in agent side
However, when I log the event in OnPlayStateChanged of the agent, using
System.Diagnostics.Debug.WriteLine(player.PlayerState.ToString();
I receive 2 Unknown and 3 Playing events when a new track is play
It's weird, why is that?
P/S: I use the code sample on MSDN How to: Play Background Audio for Windows Phone
Thanks to Peter Torr, I found the reason
Due to the asynchronous nature of media playback, you should use the
arguments to the OnPlayStateChanged callback to drive your logic. You
shouldn’t need to query the player (that is mostly for the foreground
app to display UI).

Ntp synchronization video WP7 devices

I need to synchronize a video in diferrent devices with windows phone. So i get the hour from a ntp server and then convert it to miliseconds. Now i think i need to make a internal clock to count the time to launch the video. I have some difficultes to understand this. I don't see examples in the internet. Can anyone help me? I need to know how to do that.
Your question is vey vague and missing lots of information relevant to what you're actually trying to achieve. However, by piecing together information from what I assume are your related other questions, here goes.
The simplest way of having a video play at the same time on multiple devices is to have it streamed in real time from a central server.
If it's not playing directly from a central server then there is a question about where the video file is downloaded from and how you define when the video should be started from. There is also a question about why/if it really needs to be played in sync.
Assuming that you have a central server to determine what to play when:
An NTP server only seems relevant to this scenario if the video content is shipped with the app or is fully downloaded. You can then use the NTP server to determine the difference between the devices time and that returned from the central server. (Note that you can't set the devices time via the available APIs.) You should then query the central server to find out where the video should be played from. I'd suggest having the server respond with a response that indicates the point to start playing back in a couple of seconds. i.e. the equivalent of "Play video X, skipping the first Y seconds/milliseconds/ticks and starting in Z seconds time.
If you don't have a central server to determine when to play what then, the only assumption I can make about how this scenario would work is if all devices have the content (or first download it before trying to play) and details about when that content should be played. A simple example of this would be a 1 hour video which is played on a loop. The NTP server could be used to find out what the actual current time is (subject to the difference allowed for the NTP request) and then start playing the track at the same position through at the time it is past the hour.
In the above scenarios when I state that content must be downlaoded before trying to play, this is to ensure that there aren't issues with the download being slower than playback as the time taken to buffer would get playback out of sync.
Hope this helps.

Ntp synchronization video WP7

I guys:)
I am doing an windows phone application that presents videos, but presents when syncronized with an ntp server. I already have a variable with the time but i don´t know now what to do. I try search in google but i dont find anything.. I want to make an application to present the same video at the same time in different phones..
Any help? Examples?
The simplest way to get multiple devices doing something in sync is to define a time at which they should all start (do this on a central server) and then have each device request the amount of time to wait until the start. Each device should then start playback when that period has elapsed.
If you need to have different devices join in at specific ppoints when some are already playing the video your central point will need to send the point to start playing as well as the amount of time to wait until playback shoudl begin.
Due to the latency of the network communication you won't be able to get perfect sync though.

Resources