3.4.14. gc_ReqService( )
The gc_ReqService( ) function can be used to register an endpoint with a registration server (gateway in H.323 or registrar in SIP). Function parameter must be set as follows:
- target_type - GCTGT_GCLIB_NETIF
- target_ID - An IPT board device, obtained by using gc_OpenEx( ) with a devicename parameter of "N_iptBx".
- service_ID - Any valid reference to an unsigned long; must not be NULL.
- reqdatap - A pointer to a GC_PARM_BLK containing registration information.
- respdatapp - Set to NULL for asnychronous mode. This function is not supported in synchronous mode.
- mode - EV_ASYNC
The registration information that can be included in the associated GC_PARM_BLK is shown in Table 3.
GCSET_SERVREQ PARM_REQTYPE
Datatype: IP_REQTYPE_REGISTRATIONH.323 and SIP GCSET_SERVREQ PARM_ACK H.323 and SIP IPSET_PROTOCOL IPPARM_PROTOCOL_BITMASK
Datatype: Bitmask composed from the following values:H.323 and SIP IPSET_REG_INFO See Section 6.17, IPSET_REG_INFO Parameter Set, for more information. IPPARM_OPERATION_REGISTER
Datatype: One of the following values:
IPPARM_OPERATION_DEREGISTER
Datatype: One of the following values:
IPPARM_REG_ADDRESS
Datatype: IP_REGISTER_ADDRESSSee Section 7.9, IP_REGISTER_ADDRESS, for more informationH.323 and SIP IPSET_LOCAL_ALIAS IPPARM_ADDRESS_DOT_NOTATION IPPARM_ADDRESS_EMAIL IPPARM_ADDRESS_H323_ID IPPARM_ADDRESS_PHONE IPPARM_ADDRESS_TRANSPARENT IPPARM_ADDRESS_URL
Datatype: StringH.323 IPSET_SUPPORTED_PREFIXES IPPARM_ADDRESS_DOT_NOTATION IPPARM_ADDRESS_EMAIL IPPARM_ADDRESS_H323_ID IPPARM_ADDRESS_PHONE IPPARM_ADDRESS_TRANSPARENT IPPARM_ADDRESS_URL
Datatype: StringH.323 indicates mandatory parameters. These parameters are required to support the generic service request mechanism provided by Global Call and are not sent in any registration message.
- Overriding an existing registration value
(IPPARM_OPERATION_REGISTER = IP_REG_SET_INFO)- Adding a registration value
(IPPARM_OPERATION_REGISTER = IP_REG_ADD_INFO)- Removing a registration value; local alias or supported prefix only
(IPPARM_OPERATION_REGISTER = IP_REG_DELETE_BY_VALUE)See Section 4.12.4, Registration Code Example for more information.
The gc_ReqService( ) function also provides the following deregister options:
- Deregister and keep the registration information locally
(IPPARM_OPERATION_DEREGISTER = IP_REG_MAINTAIN_LOCAL_INFO)- Deregister and discard the registration information locally
(IPPARM_OPERATION_DEREGISTER = IP_REG_DELETE_ALL)See Section 4.12.5, Deregistration Code Example for more information.
Alias and supported prefix information is supported when the target protocol for registration is H.323 only. The application should not specify this type of information when the target protocol includes SIP.
When using SIP, periodic registration is not supported. A time_to_live value can be specified in the IP_REGISTER_ADDRESS structure and an expired header is added. Registration is not refreshed. The application can re-register periodically to refresh registration before the time_to_live value times out. One-time registration is supported.
Since some of the registration data may be protocol specific, there is a facility to set the protocol type using IP parameters in reqdatap and respdatapp, which are of type GC_PARM_BLK.
The following are the relevant parameters for the GC_PARM_BLK:
- set_ID: IPSET_PROTOCOL
- parm_ID: IPPARM_PROTOCOL_BITMASK, which should be one of the following values:
- Note: The default value for the protocol, when not specified by the application is IP_PROTOCOL_H323.
The GCEV_SERVICERESP event indicates that a service has been responded to by an H.323 gatekeeper or a SIP registrar. The event is received on an IPT board device handle. The event data includes a specification of the protocol used. The sr_getevtdatap( ) function returns a pointer to a GC_PARM_BLK that includes the following parameter information:
Click here to contact Telecom Support Resources
Copyright 2003, Intel Corporation