Dialogic Dialogic Global Call IP IP Phone User Manual


 
104 Dialogic
®
Global Call IP Technology Guide — November 2007
Dialogic Corporation
IP Call Scenarios
3.4.6 Receiving a Request to Switch From T.38 Fax to Audio
In a fax session, when a fax completes, the application can receive a request to switch from a T.38
fax session back to an audio session. The application can choose to accept the request after
disassociating the T.38 Fax device from the Media device. When Dialogic
®
Global Call API
notifies the application that the audio session has been reestablished, the application can once again
send and receive audio. Figure 45 shows the scenario diagram.
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 45 are
shown for informational purposes only. Global Call interacts with the IP Media Library on behalf
of the application.
Figure 45. Receiving a Request to Switch From T.38 Fax to Audio
IPML
Remote Device Capable of
Signaling, Audio and T.38
App
gc_OpenEx(:N_iptB1T1:M_ipmB1C1)
REINVITE/RequestMode to switch to audio.
Receive IP address and RTP Port number
200OK/RequestMOde Ack
FAX
Fx_open(dxxxB23C1)
dev_Disconnect(ipmB1C1, dxxxB23C1)
Ipm_StartMedia()
T.38 Data via RTP
Fx_Recvfax()
GC/cclib
gc_MakeCall()
GCEV_CONNECTED
GCEV_EXTENSION(IPSET_SWITCH_CODEC,IPPARM_T38_REQUESTED)
gc_SetUserInfo(IPSET_FOIP,IPPARM_T38_DISCONNECT)
Fx_Stopch()
Audio Data
GCEV_EXTENSION(IPSET_SWITCH_CODEC,IPPARM_READY)
Audio Data
gc_SetUserInfo(IPSET_FOIP,IPPARM_T38_CONNECT)
GCEV_EXTENSION(IPSET_SWITCH_CODEC,IPPARM_READY)
GCEV_EXTENSION(IPSET_SWITCH_CODEC,IPPARM_AUDIO_REQUESTED)
gc_Extension(IPSET_SWITCH_CODEC,IPPARM_ACCEPT)*
Ipm_GetLocalMedia()
*Note: Alternatively, application can reject by calling
gc_Extension(IPSET_SWITCH_CODEC, IPPARM_REJECT)
with reason. Appropriate H323/SIP message will be
sent to remote side. Remote GC application receives a
GCEV_TASKFAIL event with the reason
Ipm_Stop()
GCEV_EXTENSIONCMPLT
gc_Listen()
gc_SetConfigData(IP_MANUAL_MODE)