Dialogic Dialogic Global Call IP IP Phone User Manual


 
468 Dialogic
®
Global Call IP Technology Guide — November 2007
Dialogic Corporation
8.3.17.4 Destination Address Interpretation
Note: The following information applies when using H.323 only.
Once a destination string is formed as described in the previous section, the H.323 stack treats the
string according to the following rules:
The first section of the string is the destination of the next IP entity (for example, a gateway,
terminal, the alias for a remote registered entity, etc.) with which the application attempts to
negotiate.
A non-prefixed section in the string is the Q.931 calledPartyNumber and is the last section that
is processed. Any section following the first non-prefixed section is ignored. Only one Q.931
calledPartyNumber is allowed in the destination string.
One or more prefixed sections (H.225 destinationAddress fields) must appear before the non-
prefixed section (Q.931 calledPartyNumber).
When using free strings (numberstr parameter or Phone List), the valid buffer prefixes for
H.225 addresses are:
TA: – IP transport address
TEL: – e164 telephone number
NAME: – H.323 ID
URL: – Universal Resource Locator
EMAIL: – e-mail address
The following code examples demonstrate the recommended ways of forming the destination
string when making an H.323 call. Prerequisite code for setting up the GC_MAKECALL_BLK in
all the scenarios described in this section is as follows:
GC_MAKECALL_BLK gcmkbl;
GCLIB_MAKECALL_BLK gclib_mkbl = {0};
gcmkbl.cclib = NULL;
gcmkbl.gclib = &gclib_mkbl;
GC_PARM_BLK *target_datap = NULL;
gc_util_insert_parm_val(&target_datap,
IPSET_PROTOCOL,
IPPARM_PROTOCOL_BITMASK,
sizeof(char),
IP_PROTOCOL_H323);
Scenario 1 – Making a call to a known IP address, and setting the Q.931 calledPartyNumber:
char *pDestAddrBlk = "127.0.0.1";
char *pDestAddrStr = "123456";
/* set GCLIB_ADDRESS_BLK with destination string & type*/
strcpy(gcmkbl.gclib->destination.address,pDestAddrBlk);
gcmkbl.gclib->destination.address_type = GCADDRTYPE_IP;
gclib_mkbl.ext_datap = target_datap;
/* calling the function with the MAKECALL_BLK*/
gc_MakeCall(ldev, &crn, pDestAddrStr, &gcmkbl, MakeCallTimeout,EV_ASYNC);
Scenario 2 – Making a call to a known IP address, setting a number of H.225 aliases, and setting
the Q.931 calledPartyNumber: