[Freeswitch-users] mod_managed - how listen for *999
Phillip Jones
pjintheusa at gmail.com
Wed Mar 10 05:42:34 PST 2010
There should be no problem on digit capture on an outgoing call. For example
- when I originate a call, I ask the called party, for example, to press 1
to accept the call. This works correctly:
BLegSession.DtmfReceivedFunction = (d, t) =>
{
Log.WriteLine(LogLevel.Info, "Received {0} for {1}.", d,
t);
if (d == confirmationDigit)
{
confirmed = true;
return "break";
}
return "";
};
while (!confirmed && BLegSession != null &&
BLegSession.Ready() && BLegSession.mediaReady() && loop <= loops)
{
loop++;
if (!confirmed && BLegSession != null &&
BLegSession.Ready() && BLegSession.mediaReady())
BLegSession.StreamFile("prompts/press-1-to-accept-call-from.wav", 0);
if (!confirmed && BLegSession != null &&
BLegSession.Ready() && BLegSession.mediaReady())
BLegSession.CollectDigits(5000);
}
If you are not receiving the digits - I would try and bridge the oubound
call to an existing call and check that you are getting two way audio - and
if you are using inband DTMF - that you can actually hear the digits.
HTH
On Wed, Mar 10, 2010 at 7:02 AM, Chris <freeswitch at gilligan.id.au> wrote:
> Thanks for the idea i will try that next. I thought i would try to capture
> the digits like normal first to make sure everything is working right and to
> test a few event capture methods. What i found was that mod_managed never
> seemed to capture or read any digits for an out going call. If i pass the
> call to a different application/dial plan it captures the digits perfectly.
> I assume audio was working as it played audio to the user to enter digits
> so i figure i have not configured something correctly but i have not idea
> what it is. Until i work it out i don't think any event code will work.
>
> I have no idea what is wrong in this case or even how to debug it.
>
> Chris
>
>
> On Wed, Mar 10, 2010 at 1:31 PM, Phillip Jones <pjintheusa at gmail.com>wrote:
>
>> One way might be to create an event loop and listen for DTMF
>>
>> public bool Load()
>> {
>> ThreadPool.QueueUserWorkItem((o) =>
>> {
>> Log.WriteLine(LogLevel.Notice, "Thread Starting. ");
>> EventConsumer con = new EventConsumer("DTMF", "");
>> while (true)
>> {
>> Event ev = con.pop(1);
>> if (ev != null)
>> {
>> ... do what ever needs to be done
>> }
>>
>> }
>> });
>>
>> See http://wiki.freeswitch.org/wiki/Event_List#DTMF
>>
>> I am guessing the DTMF is "DTMF" so play around with that if it does not
>> work.
>>
>> There are probably better ways.
>>
>>
>>
>> On Tue, Mar 9, 2010 at 5:27 AM, Chris <freeswitch at gilligan.id.au> wrote:
>>
>>> What i need to do is listen on a session before, during and after the
>>> session is bridged with another call. I know built into FS is the option to
>>> listen for *x where x is 0-9 but i really need more than one digit.
>>>
>>> I traced the method that listens for the single digit to the
>>> command switch_core_event_hook_add_send_dtmf(session, meta_on_dtmf); in
>>> switch_ivr_async.c
>>>
>>> mod_managed also has the following in the native class freeswitch.
>>> public static switch_status_t
>>> switch_core_event_hook_add_recv_dtmf(SWIGTYPE_p_switch_core_session session,
>>> SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t
>>> recv_dtmf)
>>>
>>> The problem is i can't work out how to use it. I am fine the the first
>>> param for the session but have no idea what i need for
>>> the SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t
>>> recv_dtmf param.
>>>
>>> if anyone can point me in the right direction or knows a better way i
>>> would be grateful.
>>>
>>> Chris
>>>
>>> _______________________________________________
>>> 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
>>
>>
>
> _______________________________________________
> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20100310/a765ae4a/attachment-0002.html
More information about the FreeSWITCH-users
mailing list