(Page 1 of 1 in this chapter)
|
Operation
|
Supported?
|
For more information, see...
|
|---|---|---|
|
Receiving inbound calls
|
Yes
|
Section 4.4 of this manual.
|
|
Placing outbound calls
|
Yes
|
Section 4.5 of this manual.
|
|
Releasing calls
|
Yes
|
Section 4.6 of this manual.
|
|
Call blocking
|
Yes
|
Section 4.7 of this manual
|
|
Call transfer
|
No
|
N/A
|

Figure 11. Inbound Call State Diagram
#define ADI_MAX_DIGITS 31
#define ADI_MAX_CNAME 31
typedef struct
{ /* Used by adiGetCallStatus */
DWORD size; /* Size returned by adiGetCallStatus */
DWORD state; /* Call states (ADI_CC_STATE_xxx) */
INT32 reason; /* Reason for going back to IDLE state */
char calledaddr [ADI_MAX_DIGITS+1]; /*DNIS info, called no. */
/* (null-terminated string) */
char callingaddr[ADI_MAX_DIGITS+1]; /*ANI info, calling no. */
/* (null-terminated string) */
char callingname[ADI_MAX_CNAME+1]; /* Calling party name */
DWORD pendingcommand; /* Current unacknowledged command */
char usercategory; /* User category of the calling party */
char tollcategory; /* Toll category (generally same as */
/* usercategory */
BYTE stream; /* MVIP address of B channel */
BYTE timeslot; /* MVIP address of B channel */
WORD billingrate; /* Billing rate of call */
char callednumplan; /* Q.931 numbering plan ID of */
/* called number (if supported) */
char callednumtype; /* Q.931 number type of */
/* called number (if supported) */
char callingnumplan; /* Q.931 numbering plan ID of */
/* calling number (if supported) */
char callingnumtype; /* Q.931 number type of */
/* calling number (if supported) */
char callingpres; /* Caller ID presentation indicator */
char callingscreen; /* Q.931 ANI screening indicator */
char progressdescr; /* Progress descriptor */
char releasecause; /* Cause for call release */
char redirectingaddr[ADI_MAX_DIGITS+1]; /* Redirecting no. info */
char redirectingplan; /* Q.931 numbering plan ID of */
/* redirecting number (if supported) */
char redirectingtype; /* Q.931 number type of */
/* redirecting number (if supported) */
char redirectingpres; /* Redirecting number presentation */
/* indicator */
char redirectingscreen; /* Q.931 redirecting number screen */
/* indicator */
char redirectingreason; /* Q.931 reason for redirection */
char originalcalledaddr [ADI_MAX_DIGITS+1]; /* (For future use) */
char UUI[132]; /* User-to-user information */
/* (132 chars max) */
} ADI_CALL_STATUS;

Figure 12. Sequence Diagram for Answering Inbound Call
ADIEVN_REJECTING_CALL will also occur if the application fails to invoke adiAcceptCall, adiAnswerCall or adiRejectCall within the period specified in the protocol's ADI.ISD.waitforpctime parameter. The event value field contains ADI_REJ_HOST_TIMEOUT. The TCP rejects the call by playing the tone specified by the ADI.ISD.defaulttone parameter.

Figure 13. Sequence Diagram for Rejecting Inbound Call

Figure 14. Sequence Diagram for Accepting and then Rejecting Inbound Call

Figure 15. Sequence Diagram for Accepting and then Answering Inbound Call

Figure 16. Outbound Call State Diagram

Figure 17. Sequence Diagram for Outbound Call
# a1an * s1sn # d1dn * t1tn
# a1an are the address of the calling party -- the Automatic Number
Identification (ANI) digits. If no ANI digits are included, omit the first #.
* and s digits from the string.
# d1dn are the digits to dial.
* and t digits from the string.

Figure 18. Sequence Diagram for Network-Initiated Release
a. In response to adiReleaseCall, the TCP sends a DISCONNECT message to the network.
b. When the network responds with a RELEASE message, the ISDN protocol stack (channelizer level) responds with a RELEASE COMPLETE message, and causes the TCP to cause CT Access to generate a call released event, ADIEVN_CALL_RELEASED.
c. When CT Access processes the event, its internal call state is reset to idle.
d. After the application calls adiReleaseCall, CT Access will not allow DSP-related operations to be started on the CTA context until the port re-enters the Connected state.

Figure 19. Sequence Diagram for Application-Initiated Release
/* Supplementary services accept call extensions: */
typedef struct
{
DWORD size; /* Size of structure */
char uui [132]; /* User-to-user info (132 chars max) */
WORD cause; /* Cause */
WORD progressdescriptor; /* Progress descriptor */
} ISDNACCEPTCALL_EXTARGS;
/* Supplementary services answer call extensions: */
typedef struct
{
DWORD size; /* Size of structure */
char uui [132]; /* User-to-user info (132 chars max) */
} ISDNANSWERCALL_EXTARGS;
/* Supplementary services called number extensions: */
typedef struct
{
char plan; /* Called numbering plan */
char type; /* Called number type */
char pad[2]; /* Pad */
} ISDN_CALLEDNUMBER;
/* Supplementary services calling number extensions: */
typedef struct
{
char digits[33]; /* Calling address (33 char max) */
char plan; /* Calling numbering plan */
char type; /* Calling number type */
char screen; /* Calling no. screening indicator */
char presentation; /* Calling number presentation */
char pad[3]; /* Pad */
} ISDN_CALLINGNUMBER;
/* Supplementary services place call extensions: */
typedef struct
{
DWORD size; /* Size of structure */
char uui [132]; /* User-to-user info (132 chars max) */
ISDN_CALLEDNUMBER callednumber; /* Called address */
ISDN_CALLINGNUMBER callingnumber; /* Calling address */
ISDN_REDIRECTINGNUMBER redirectingnumber;/*Redirecting addr*/
WORD service; /* Service */
WORD nsf_service_feature; /* NSF service feature */
} ISDNPLACECALL_EXTARGS;
/* Supplementary services redirecting number extensions: */
typedef struct
{
char digits[33]; /* Redirecting address (33 char max) */
char plan; /* Redirecting numbering plan */
char type; /* Redirecting number type */
char screen; /* Redir no. screening indicator */
char presentation; /* Redirecting number presentation */
char reason; /* Reason for redirection */
char pad[3]; /* Pad */
} ISDN_REDIRECTINGNUMBER;
/* Supplementary services reject call extensions: */
typedef struct
{
DWORD size; /* Size of structure */
char uui [132]; /* User-to-user info (132 chars max) */
WORD cause; /* Cause */
} ISDNREJECTCALL_EXTARGS;
/* Supplementary services release call extensions: */
typedef struct
{
DWORD size; /* Size of structure */
char uui [132]; /* User-to-user info (132 chars max) */
WORD cause; /* Cause */
} ISDNRELEASECALL_EXTARGS;
(Page 1 of 1 in this chapter)