Dialogic Dialogic Global Call IP IP Phone User Manual


 
Dialogic
®
Global Call IP Technology Guide — November 2007 105
Dialogic Corporation
IP Call Scenarios
3.4.7 Terminating a Call After a T.38 Fax Session
In any scenario where a T.38 session is established and fax is complete, the application can
terminate the call without switching to audio. In either outbound or inbound call termination, the
application must disassociate the T.38 Fax device from the Media device before calling
gc_DropCall( ). This ensures the Media device in the correct state for the next call.
Terminating a call after an audio session follows the normal Global Call call procedures.
Note: The application must not use both Dialogic
®
Global Call API and Dialogic
®
IP Media Library API
functions on the same device. The Dialogic
®
IP Media Library API calls (ipm_) in Figure 46 are
shown for informational purposes only. Global Call interacts with the IP Media Library on behalf
of the application.
Figure 46. Terminating a Call After a T.38 Fax Transfer.
3.4.8 Recovering from a Session Switching Failure
Switching to T.38 Fax or audio may fail due to any a number of reasons, for example, rejection or
no response from remote endpoint. It is highly recommended that the application set up a timer for
a minimum of 35 seconds for each switching request. If a timeout occurs while waiting for a
GCEV_EXTENSION event that has an associated IPPARM_READY parameter, the application
has two options:
Attempt to switch back to original session as if the GCEV_EXTENSION event were received
without media capability.
Terminate the call as if GCEV_EXTENSION event were received without media capability.
If the application times out when switching to T.38 Fax (that is, it does not receive a
GCEV_EXTENSION event with an IPPARM_READY parameter within the timeout period), it
IPML
Remote Device Capable of
Signaling, Audio and T.38
App FAX
dev_Disconnect(ipmB1C1)
BYE/Release Complete
Fx_stopch()
T.38 Data via RTP
GC/cclib
gc_DropCall()
GCEV_DISCONNECTED
Ipm_Stop()
gc_SetUserInfo(IPSET_FOIP,IPPARM_T38_DISCONNECT)
GCEV_DROPCALL
gc_ReleaseCall()
GCEV_RELEASECALL