| CONTACT | DEVELOPER CENTER | PARTNERS | SITEMAP
GO
Useful Links
  • Search Helpweb
    
    

Dialogic Support Helpweb

Dialogic® Host Media Processing (HMP) Software

Working code for testing hold/retrieve on Dialogic® Host Media Processing (HMP) Software for Windows®

Introduction:

This article describes working code used for testing SIP hold & retrieve. This code was based on the gc_basic_call_model demo, and was edited to add the ability to test the SIP hold and retrieve functionality (via re-invite) on Dialogic® Host Media Processing (HMP) Software.

Click here to download the sample code.

This code was tested using Dialogic® Host Media Processing (HMP) Software Release 3.0 for Windows® .

Program Description:

The user will need to modify the gc_hmp_hold_retrieve.cfg file to run the program.

The program does the following:
 - Makes an outbound call to the IP address configured in the gc_hmp_hold_retrieve.cfg file (it is also possible to configure the program to receive an inbound call).
 - Plays a prompt.
 - Sends a re-invite message, using gc_ReqModifyCall( ) to set the IP CAP structure direction to "IP_CAP_DIR_LCLRTPINACTIVE". This assumes the hold-type parameter is set to "REQH" in the .cfg, to send a request message to put the call on hold.
 - If the remote endpoint accepts the request, it will send a 200 OK message (viewable in a network trace) and the program will receive the GCEV_MODIFY_CALL_ACK event.
 - No more RTP packets will be sent to the remote endpoint. 
 - Plays a second file that will not be heard by the remote endpoint (to verify that the call is now on hold).
 - Sends a re-invite message, using gc_ReqModifyCall( ) to set the IP CAP structure direction to "IP_CAP_DIR_LCLTRANSMIT" and "IP_CAP_DIR_LCLRECEIVE".  This will send a request message to retrieve the call from the hold state.
 - If the remote endpoint accepts the request, it will send a 200 OK message (viewable in a network trace) and the program will receive another GCEV_MODIFY_CALL_ACK event. 
 - RTP packet streaming to the remote endpoint will resume.
 - Plays a third file that will be heard by the remote endpoint to verify that the call has been retrieved.
 - Another alternative is to configure the hold-type parameter as "ACCH" in the gc_hmp_hold_retrieve.cfg file, to cause the application to instead wait for the re-invite message (i.e. the remote endpoint will place the call on hold and retreive the call). The program will receive a GCEV_REQ_MODIFY_CALL event in response to the request, and call gc_AcceptModifyCall( ) to accept this and send back a 200 OK message over the network.

Product List
Dialogic® Host Media Processing Software Release 3.0 for Windows®

Related Documentation
Dialogic® Global Call API for Host Media Processing on Windows Programming Guide
http://www.dialogic.com/manuals/docs/globalcall_programming_hmp_win_v3.pdf

Dialogic® Global Call API for Linux and Windows Operating Systems Library Reference
http://www.dialogic.com/manuals/docs/globalcall_api_v7.pdf

Dialogic® Global Call IP for Host Media Processing Technology Guide
http://www.dialogic.com/manuals/docs/globalcall_for_ip_hmp_v8.pdf




Feedback

Please rate the usefulness of this page:  

0 - not useful at all
1 - potentially useful
2 - quite useful
3 - very useful
4 - exactly the information I needed     

Please enter a comment about this page: