[jvr-general] Ring Test, what can we do?
Kevin O'Donnell
kevino at kevino.net
Wed Feb 11 23:24:32 CST 2004
> $EventDispatcher run MetaEvent{134;evtdev=2;}
Oi! "134" is the type of event that has been received. If you convert it
to hex (0x86) and look in dxxxlib.h, you see that it is a TDX_CST - a
"Call Status Transition" event. You can then take TDX_CST and dig deeper
to see that it's a ring received event.
I think this is what is happening:
- when you call dx_wtring(), that function changes the event mask to
enable notification of DM_RINGS (ring received event). The mask is
not returned to the previous state after dx_wtring is finished.
- In the C program, there is no global event handler, so I think
Dialogic is happy to *sit* on an unreported DM_RING event until the
next call to dx_wtring.
- In JVR, there is a global event handler. Since Dialogic is happy
to report the event then assume that it's been taken care of, there
is nothing in the event queue the next time dx_wtring comes around.
Attached is a modified version of Answer.java that provides a workaround.
I'll work on a good solution to the API for the next release.
One question: why do you want the X seconds delay after going back on
hook? Why not just answer the next call right away?
Don't forget that your caller may hang up after letting the line ring for
10 seconds. You'll still go offhook, but nobody will be there.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Answer.java
Type: application/octet-stream
Size: 3955 bytes
Desc: not available
Url : http://threebit.net/pipermail/jvr-general/attachments/20040211/a9c88591/Answer.obj
More information about the jvr-general
mailing list