Can I stream a file to a parked call.
Hi there, I know there are other ways of doing this. I am just trying get to know have fun with the FreeSWITCH API. I am using originate and park a call: fsApi.Execute("originate", string.Format("[origination_uuid={0},origination_caller_id_number={1}]sofia/gateway/broadvox/{2} &park", blegSession.Uuid, OutgoingCallerID, NumberToDial)); That works great, the phone rings. I want to play something to this called party when they pick up. while (!blegSession.answered()) { Log.WriteLine(LogLevel.Alert, "Inside::CallReturns:!Session.answered::Loop"); blegSession.sleep(500, 1); } string promptFile = "prompts/whisper.wav"; blegSession.StreamFile(promptFile, 0); This works - but the audio is choppy and slow. Is there something I need to do to that parked call before streaming that file? Thanks for any input. Phil
try wedging {ignore_early_media=true} before the first [ in your dial string and eliminate the code waiting for answer. On Thu, Aug 27, 2009 at 3:09 PM, Phillip Jones <pjintheusa@gmail.com> wrote:
Hi there,
I know there are other ways of doing this. I am just trying get to know have fun with the FreeSWITCH API.
I am using originate and park a call:
fsApi.Execute("originate",
string.Format("[origination_uuid={0},origination_caller_id_number={1}]sofia/gateway/broadvox/{2} &park", blegSession.Uuid, OutgoingCallerID, NumberToDial));
That works great, the phone rings. I want to play something to this called party when they pick up.
while (!blegSession.answered()) { Log.WriteLine(LogLevel.Alert, "Inside::CallReturns:!Session.answered::Loop"); blegSession.sleep(500, 1); }
string promptFile = "prompts/whisper.wav"; blegSession.StreamFile(promptFile, 0);
This works - but the audio is choppy and slow.
Is there something I need to do to that parked call before streaming that file?
Thanks for any input.
Phil
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
thanks for the reply. Tried this and exactly the same result. The prompt is slowed - as if the person is drunk. I do notice that the originating call SDP shows: a=rtpmap:0 PCMU/8000 but the play tries to use: EXECUTE sofia/external/6093693828 playback(prompts/press-1-to-accept-call-from.wav) 2009-08-28 16:03:14.507375 [DEBUG] switch_ivr_play_say.c:1097 Codec Activated L16@8000hz 1 channels 20ms Should the codec be PCMU@8000hz as opposed to L16@8000hz? If so of there a way of forcing this codec for play. Thanks Phillip Full code & logs http://pastebin.freeswitch.org/10147 http://pastebin.freeswitch.org/10150 On Thu, Aug 27, 2009 at 4:30 PM, Anthony Minessale<anthony.minessale@gmail.com> wrote:
try wedging {ignore_early_media=true} before the first [ in your dial string and eliminate the code waiting for answer.
On Thu, Aug 27, 2009 at 3:09 PM, Phillip Jones <pjintheusa@gmail.com> wrote:
Hi there,
I know there are other ways of doing this. I am just trying get to know have fun with the FreeSWITCH API.
I am using originate and park a call:
fsApi.Execute("originate",
string.Format("[origination_uuid={0},origination_caller_id_number={1}]sofia/gateway/broadvox/{2} &park", blegSession.Uuid, OutgoingCallerID, NumberToDial));
That works great, the phone rings. I want to play something to this called party when they pick up.
while (!blegSession.answered()) { Log.WriteLine(LogLevel.Alert, "Inside::CallReturns:!Session.answered::Loop"); blegSession.sleep(500, 1); }
string promptFile = "prompts/whisper.wav"; blegSession.StreamFile(promptFile, 0);
This works - but the audio is choppy and slow.
Is there something I need to do to that parked call before streaming that file?
Thanks for any input.
Phil
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org pstn:213-799-1400
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
the L16 codec is used because the wav files is raw PCM audio which is being encoded to PCMU Have you tried doing this to a locally registered phone? On Fri, Aug 28, 2009 at 3:13 PM, Phillip Jones <pjintheusa@gmail.com> wrote:
thanks for the reply.
Tried this and exactly the same result. The prompt is slowed - as if the person is drunk.
I do notice that the originating call SDP shows:
a=rtpmap:0 PCMU/8000
but the play tries to use:
EXECUTE sofia/external/6093693828 playback(prompts/press-1-to-accept-call-from.wav) 2009-08-28 16:03:14.507375 [DEBUG] switch_ivr_play_say.c:1097 Codec Activated L16@8000hz 1 channels 20ms
Should the codec be PCMU@8000hz as opposed to L16@8000hz? If so of there a way of forcing this codec for play.
Thanks
Phillip
Full code & logs http://pastebin.freeswitch.org/10147 http://pastebin.freeswitch.org/10150
On Thu, Aug 27, 2009 at 4:30 PM, Anthony Minessale<anthony.minessale@gmail.com> wrote:
try wedging {ignore_early_media=true} before the first [ in your dial string and eliminate the code waiting for answer.
On Thu, Aug 27, 2009 at 3:09 PM, Phillip Jones <pjintheusa@gmail.com> wrote:
Hi there,
I know there are other ways of doing this. I am just trying get to know have fun with the FreeSWITCH API.
I am using originate and park a call:
fsApi.Execute("originate",
string.Format("[origination_uuid={0},origination_caller_id_number={1}]sofia/gateway/broadvox/{2}
&park", blegSession.Uuid, OutgoingCallerID, NumberToDial));
That works great, the phone rings. I want to play something to this called party when they pick up.
while (!blegSession.answered()) { Log.WriteLine(LogLevel.Alert, "Inside::CallReturns:!Session.answered::Loop"); blegSession.sleep(500, 1); }
string promptFile = "prompts/whisper.wav"; blegSession.StreamFile(promptFile, 0);
This works - but the audio is choppy and slow.
Is there something I need to do to that parked call before streaming that file?
Thanks for any input.
Phil
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE: http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
nevermind, I didn't look closely at your code. how did you end up with blegSession ? Are you running this script from the CLI or via the application interface. On Fri, Aug 28, 2009 at 3:33 PM, Anthony Minessale < anthony.minessale@gmail.com> wrote:
the L16 codec is used because the wav files is raw PCM audio which is being encoded to PCMU
Have you tried doing this to a locally registered phone?
On Fri, Aug 28, 2009 at 3:13 PM, Phillip Jones <pjintheusa@gmail.com>wrote:
thanks for the reply.
Tried this and exactly the same result. The prompt is slowed - as if the person is drunk.
I do notice that the originating call SDP shows:
a=rtpmap:0 PCMU/8000
but the play tries to use:
EXECUTE sofia/external/6093693828 playback(prompts/press-1-to-accept-call-from.wav) 2009-08-28 16:03:14.507375 [DEBUG] switch_ivr_play_say.c:1097 Codec Activated L16@8000hz 1 channels 20ms
Should the codec be PCMU@8000hz as opposed to L16@8000hz? If so of there a way of forcing this codec for play.
Thanks
Phillip
Full code & logs http://pastebin.freeswitch.org/10147 http://pastebin.freeswitch.org/10150
On Thu, Aug 27, 2009 at 4:30 PM, Anthony Minessale<anthony.minessale@gmail.com> wrote:
try wedging {ignore_early_media=true} before the first [ in your dial string and eliminate the code waiting for answer.
On Thu, Aug 27, 2009 at 3:09 PM, Phillip Jones <pjintheusa@gmail.com> wrote:
Hi there,
I know there are other ways of doing this. I am just trying get to know have fun with the FreeSWITCH API.
I am using originate and park a call:
fsApi.Execute("originate",
string.Format("[origination_uuid={0},origination_caller_id_number={1}]sofia/gateway/broadvox/{2}
&park", blegSession.Uuid, OutgoingCallerID, NumberToDial));
That works great, the phone rings. I want to play something to this called party when they pick up.
while (!blegSession.answered()) { Log.WriteLine(LogLevel.Alert, "Inside::CallReturns:!Session.answered::Loop"); blegSession.sleep(500, 1); }
string promptFile = "prompts/whisper.wav"; blegSession.StreamFile(promptFile, 0);
This works - but the audio is choppy and slow.
Is there something I need to do to that parked call before streaming that file?
Thanks for any input.
Phil
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE: http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE: http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
The dialplan is is kicking off the C# script: <condition field="destination_number" expression="^(12125553666)$"> * <action application="managed" data="MyFSProjects.ProcessCall"/>* </condition> I launch a thread and specify the uuid to originate: fsApi.Execute("originate", string.Format("{{ignore_early_media=true,absolute_codec_string='PCMU'}}[* origination_uuid={0}*,origination_caller_id_number={1}]sofia/gateway/broadvox/{2} &park", *call.Uuid*, call.OutgoingCallerID, call.NumberToDial)); in the callback i try and play the wav file: FreeSWITCH.Native.ManagedSession blegSession = new FreeSWITCH.Native.ManagedSession(callID); if (blegSession.Ready() && blegSession.mediaReady()) { blegSession.Answer(); blegSession.Execute("playback", "prompts/press-1-to-accept-call-from.wav"); } I go on to bridge the leg a and b - that bits works fine. On Fri, Aug 28, 2009 at 4:40 PM, Anthony Minessale< anthony.minessale@gmail.com> wrote:
nevermind,
I didn't look closely at your code.
how did you end up with blegSession ? Are you running this script from the CLI or via the application interface.
On Fri, Aug 28, 2009 at 3:33 PM, Anthony Minessale <anthony.minessale@gmail.com> wrote:
the L16 codec is used because the wav files is raw PCM audio which is being encoded to PCMU
Have you tried doing this to a locally registered phone?
On Fri, Aug 28, 2009 at 3:13 PM, Phillip Jones <pjintheusa@gmail.com> wrote:
thanks for the reply.
Tried this and exactly the same result. The prompt is slowed - as if the person is drunk.
I do notice that the originating call SDP shows:
a=rtpmap:0 PCMU/8000
but the play tries to use:
EXECUTE sofia/external/6093693828 playback(prompts/press-1-to-accept-call-from.wav) 2009-08-28 16:03:14.507375 [DEBUG] switch_ivr_play_say.c:1097 Codec Activated L16@8000hz 1 channels 20ms
Should the codec be PCMU@8000hz as opposed to L16@8000hz? If so of there a way of forcing this codec for play.
Thanks
Phillip
Full code & logs http://pastebin.freeswitch.org/10147 http://pastebin.freeswitch.org/10150
On Thu, Aug 27, 2009 at 4:30 PM, Anthony Minessale<anthony.minessale@gmail.com> wrote:
try wedging {ignore_early_media=true} before the first [ in your dial string and eliminate the code waiting for answer.
On Thu, Aug 27, 2009 at 3:09 PM, Phillip Jones <pjintheusa@gmail.com> wrote:
Hi there,
I know there are other ways of doing this. I am just trying get to know have fun with the FreeSWITCH API.
I am using originate and park a call:
fsApi.Execute("originate",
string.Format("[origination_uuid={0},origination_caller_id_number={1}]sofia/gateway/broadvox/{2}
&park", blegSession.Uuid, OutgoingCallerID, NumberToDial));
That works great, the phone rings. I want to play something to this called party when they pick up.
while (!blegSession.answered()) { Log.WriteLine(LogLevel.Alert, "Inside::CallReturns:!Session.answered::Loop"); blegSession.sleep(500, 1); }
string promptFile = "prompts/whisper.wav"; blegSession.StreamFile(promptFile, 0);
This works - but the audio is choppy and slow.
Is there something I need to do to that parked call before streaming that file?
Thanks for any input.
Phil
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE: http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com<MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org<sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE: http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Taking over the session while it's parked like that from your code and asking it to play a file is making it do 2 things at once. The session's thread is already busy in the park loop so you would have to change it's state to something passive like soft_execute so it's thread was not doing anything or send it a message so the park loop would pick it up by using the uuid_broadcast app::arg there are variables you can set that begin group_confirm_* that you can set to do this all without even using a script. http://wiki.freeswitch.org/wiki/Channel_Variables#Answer_confirmation_variab... On Fri, Aug 28, 2009 at 3:53 PM, Phillip Jones <pjintheusa@gmail.com> wrote:
The dialplan is is kicking off the C# script:
<condition field="destination_number" expression="^(12125553666)$"> * <action application="managed" data="MyFSProjects.ProcessCall"/>* </condition>
I launch a thread and specify the uuid to originate:
fsApi.Execute("originate", string.Format("{{ignore_early_media=true,absolute_codec_string='PCMU'}}[* origination_uuid={0}*,origination_caller_id_number={1}]sofia/gateway/broadvox/{2} &park", *call.Uuid*, call.OutgoingCallerID, call.NumberToDial));
in the callback i try and play the wav file:
FreeSWITCH.Native.ManagedSession blegSession = new FreeSWITCH.Native.ManagedSession(callID);
if (blegSession.Ready() && blegSession.mediaReady()) { blegSession.Answer(); blegSession.Execute("playback", "prompts/press-1-to-accept-call-from.wav"); }
I go on to bridge the leg a and b - that bits works fine.
On Fri, Aug 28, 2009 at 4:40 PM, Anthony Minessale< anthony.minessale@gmail.com> wrote:
nevermind,
I didn't look closely at your code.
how did you end up with blegSession ? Are you running this script from the CLI or via the application interface.
On Fri, Aug 28, 2009 at 3:33 PM, Anthony Minessale <anthony.minessale@gmail.com> wrote:
the L16 codec is used because the wav files is raw PCM audio which is being encoded to PCMU
Have you tried doing this to a locally registered phone?
On Fri, Aug 28, 2009 at 3:13 PM, Phillip Jones <pjintheusa@gmail.com> wrote:
thanks for the reply.
Tried this and exactly the same result. The prompt is slowed - as if the person is drunk.
I do notice that the originating call SDP shows:
a=rtpmap:0 PCMU/8000
but the play tries to use:
EXECUTE sofia/external/6093693828 playback(prompts/press-1-to-accept-call-from.wav) 2009-08-28 16:03:14.507375 [DEBUG] switch_ivr_play_say.c:1097 Codec Activated L16@8000hz 1 channels 20ms
Should the codec be PCMU@8000hz as opposed to L16@8000hz? If so of there a way of forcing this codec for play.
Thanks
Phillip
Full code & logs http://pastebin.freeswitch.org/10147 http://pastebin.freeswitch.org/10150
On Thu, Aug 27, 2009 at 4:30 PM, Anthony Minessale<anthony.minessale@gmail.com> wrote:
try wedging {ignore_early_media=true} before the first [ in your dial string and eliminate the code waiting for answer.
On Thu, Aug 27, 2009 at 3:09 PM, Phillip Jones <pjintheusa@gmail.com
wrote:
Hi there,
I know there are other ways of doing this. I am just trying get to know have fun with the FreeSWITCH API.
I am using originate and park a call:
fsApi.Execute("originate",
string.Format("[origination_uuid={0},origination_caller_id_number={1}]sofia/gateway/broadvox/{2}
&park", blegSession.Uuid, OutgoingCallerID, NumberToDial));
That works great, the phone rings. I want to play something to this called party when they pick up.
while (!blegSession.answered()) { Log.WriteLine(LogLevel.Alert, "Inside::CallReturns:!Session.answered::Loop"); blegSession.sleep(500, 1); }
string promptFile = "prompts/whisper.wav"; blegSession.StreamFile(promptFile, 0);
This works - but the audio is choppy and slow.
Is there something I need to do to that parked call before streaming that file?
Thanks for any input.
Phil
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE: http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com<MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org<sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE: http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE: http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
That makes perfect sense - I now send the call to a managed app instead of park and every thing works great. thanks. On Fri, Aug 28, 2009 at 5:12 PM, Anthony Minessale < anthony.minessale@gmail.com> wrote:
Taking over the session while it's parked like that from your code and asking it to play a file is making it do 2 things at once. The session's thread is already busy in the park loop so you would have to change it's state to something passive like soft_execute so it's thread was not doing anything or send it a message so the park loop would pick it up by using the uuid_broadcast app::arg
there are variables you can set that begin group_confirm_* that you can set to do this all without even using a script.
http://wiki.freeswitch.org/wiki/Channel_Variables#Answer_confirmation_variab...
On Fri, Aug 28, 2009 at 3:53 PM, Phillip Jones <pjintheusa@gmail.com>wrote:
The dialplan is is kicking off the C# script:
<condition field="destination_number" expression="^(12125553666)$"> * <action application="managed" data="MyFSProjects.ProcessCall"/>* </condition>
I launch a thread and specify the uuid to originate:
fsApi.Execute("originate", string.Format("{{ignore_early_media=true,absolute_codec_string='PCMU'}}[* origination_uuid={0}*,origination_caller_id_number={1}]sofia/gateway/broadvox/{2} &park", *call.Uuid*, call.OutgoingCallerID, call.NumberToDial));
in the callback i try and play the wav file:
FreeSWITCH.Native.ManagedSession blegSession = new FreeSWITCH.Native.ManagedSession(callID);
if (blegSession.Ready() && blegSession.mediaReady()) { blegSession.Answer(); blegSession.Execute("playback", "prompts/press-1-to-accept-call-from.wav"); }
I go on to bridge the leg a and b - that bits works fine.
On Fri, Aug 28, 2009 at 4:40 PM, Anthony Minessale< anthony.minessale@gmail.com> wrote:
nevermind,
I didn't look closely at your code.
how did you end up with blegSession ? Are you running this script from the CLI or via the application interface.
On Fri, Aug 28, 2009 at 3:33 PM, Anthony Minessale <anthony.minessale@gmail.com> wrote:
the L16 codec is used because the wav files is raw PCM audio which is being encoded to PCMU
Have you tried doing this to a locally registered phone?
On Fri, Aug 28, 2009 at 3:13 PM, Phillip Jones <pjintheusa@gmail.com> wrote:
thanks for the reply.
Tried this and exactly the same result. The prompt is slowed - as if the person is drunk.
I do notice that the originating call SDP shows:
a=rtpmap:0 PCMU/8000
but the play tries to use:
EXECUTE sofia/external/6093693828 playback(prompts/press-1-to-accept-call-from.wav) 2009-08-28 16:03:14.507375 [DEBUG] switch_ivr_play_say.c:1097 Codec Activated L16@8000hz 1 channels 20ms
Should the codec be PCMU@8000hz as opposed to L16@8000hz? If so of there a way of forcing this codec for play.
Thanks
Phillip
Full code & logs http://pastebin.freeswitch.org/10147 http://pastebin.freeswitch.org/10150
On Thu, Aug 27, 2009 at 4:30 PM, Anthony Minessale<anthony.minessale@gmail.com> wrote:
try wedging {ignore_early_media=true} before the first [ in your
dial
string and eliminate the code waiting for answer.
On Thu, Aug 27, 2009 at 3:09 PM, Phillip Jones < pjintheusa@gmail.com> wrote: > > Hi there, > > I know there are other ways of doing this. I am just trying get to > know have fun with the FreeSWITCH API. > > I am using originate and park a call: > > fsApi.Execute("originate", > > > string.Format("[origination_uuid={0},origination_caller_id_number={1}]sofia/gateway/broadvox/{2} > &park", blegSession.Uuid, OutgoingCallerID, NumberToDial)); > > That works great, the phone rings. I want to play something to this > called party when they pick up. > > while (!blegSession.answered()) > { > Log.WriteLine(LogLevel.Alert, > "Inside::CallReturns:!Session.answered::Loop"); > blegSession.sleep(500, 1); > } > > string promptFile = "prompts/whisper.wav"; > blegSession.StreamFile(promptFile, 0); > > > This works - but the audio is choppy and slow. > > Is there something I need to do to that parked call before streaming > that > file? > > > Thanks for any input. > > Phil > > _______________________________________________ > FreeSWITCH-users mailing list > FreeSWITCH-users@lists.freeswitch.org > http://lists.freeswitch.org/mailman/listinfo/freeswitch-users > > UNSUBSCRIBE: http://lists.freeswitch.org/mailman/options/freeswitch-users > http://www.freeswitch.org
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com<MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org<sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE: http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE: http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com<MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org<sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE: http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
participants (2)
-
Anthony Minessale
-
Phillip Jones