[Freeswitch-users] Can I stream a file to a parked call.

Anthony Minessale anthony.minessale at gmail.com
Fri Aug 28 14:12:14 PDT 2009


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_variables




On Fri, Aug 28, 2009 at 3:53 PM, Phillip Jones <pjintheusa at 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 at 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 at 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 at 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 at 8000hz 1 channels 20ms
> >>>
> >>>
> >>> Should the codec be PCMU at 8000hz as opposed to L16 at 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 at 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 at 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 at 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 at hotmail.com<MSN%3Aanthony_minessale at hotmail.com>
> >>> > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com<PAYPAL%3Aanthony.minessale at gmail.com>
> >>> > IRC: irc.freenode.net #freeswitch
> >>> >
> >>> > FreeSWITCH Developer Conference
> >>> > sip:888 at conference.freeswitch.org<sip%3A888 at conference.freeswitch.org>
> >>> > iax:guest at conference.freeswitch.org/888
> >>> > googletalk:conf+888 at conference.freeswitch.org<googletalk%3Aconf%2B888 at conference.freeswitch.org>
> >>> > pstn:213-799-1400
> >>> >
> >>> > _______________________________________________
> >>> > FreeSWITCH-users mailing list
> >>> > FreeSWITCH-users at 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 at 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 at hotmail.com <MSN%3Aanthony_minessale at hotmail.com>
> >> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com<PAYPAL%3Aanthony.minessale at gmail.com>
> >> IRC: irc.freenode.net #freeswitch
> >>
> >> FreeSWITCH Developer Conference
> >> sip:888 at conference.freeswitch.org <sip%3A888 at conference.freeswitch.org>
> >> iax:guest at conference.freeswitch.org/888
> >> googletalk:conf+888 at conference.freeswitch.org<googletalk%3Aconf%2B888 at 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 at hotmail.com <MSN%3Aanthony_minessale at hotmail.com>
> > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com<PAYPAL%3Aanthony.minessale at gmail.com>
> > IRC: irc.freenode.net #freeswitch
> >
> > FreeSWITCH Developer Conference
> > sip:888 at conference.freeswitch.org <sip%3A888 at conference.freeswitch.org>
> > iax:guest at conference.freeswitch.org/888
> > googletalk:conf+888 at conference.freeswitch.org<googletalk%3Aconf%2B888 at conference.freeswitch.org>
> > pstn:213-799-1400
> >
> > _______________________________________________
> > FreeSWITCH-users mailing list
> > FreeSWITCH-users at 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 at 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 at hotmail.com <MSN%3Aanthony_minessale at hotmail.com>
GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com<PAYPAL%3Aanthony.minessale at gmail.com>
IRC: irc.freenode.net #freeswitch

FreeSWITCH Developer Conference
sip:888 at conference.freeswitch.org <sip%3A888 at conference.freeswitch.org>
iax:guest at conference.freeswitch.org/888
googletalk:conf+888 at conference.freeswitch.org<googletalk%3Aconf%2B888 at conference.freeswitch.org>
pstn:213-799-1400
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20090828/d1e054c9/attachment-0002.html 


More information about the FreeSWITCH-users mailing list