Page 2 - COPYRIGHT NOTICE; Technical Support; Sales Offices
COPYRIGHT NOTICE All contents of this document are subject to change without notice and do not represent a commitmenton the part of Dialogic Corporation. Every effort is made to ensure the accuracy of this information.However, due to ongoing product improvements and revisions, Dialogic Corporation c...
Page 3 - iii; Table of Contents
iii Table of Contents 1. How To Use This Guide .................................................................................. 1 1.1. Products Covered by this Guide ..................................................................... 11.2. Organization of this Guide ................................
Page 6 - ISDN Software Reference for Linux and Windows
ISDN Software Reference for Linux and Windows vi 6.10. PARM_INFO ........................................................................................... 3166.11. SPID_BLK ............................................................................................... 3166.12. TERM_BLK ..............
Page 9 - ix; List of Tables
ix List of Tables Table 1. ISDN Protocols ...................................................................................... 11Table 2. Call Control States ................................................................................. 16Table 3. Inbound Call Set-Up (Asynchronous Example)........
Page 11 - xi; List of Figures
xi List of Figures Figure 1. Layer 2 Frame (D Channel) .................................................................. 14Figure 2. Layer 3 Frame (D Channel) .................................................................. 15Figure 3. Asynchronous Call Establishment Process ........................
Page 13 - How To Use This Guide; ISDN Software Reference; Chapter 2
1 1. How To Use This Guide This ISDN Software Reference is intended for users who have purchased a Dialogic board that provides ISDN Primary Rate or Basic Rate connectivity and aDialogic system software and SDK release for either LINUX or Windows. Installation instructions for the ISDN Package softw...
Page 16 - Section 2.3. Dialogic ISDN Protocol Support
ISDN Software Reference for Linux and Windows 4 station set device to and from the SCbus. BRI/SC boards can be used in eithera Windows or a LINUX operating environment. The Dialogic BRI/SC protocol implementations comply with the NorthAmerican standard ISDN BRI, Euro-ISDN protocol for BRI, and the I...
Page 17 - Introduction to Dialogic ISDN Products; Hold and Retrieve; Chapter 5. ISDN Function Reference; Messaging; Appendix D; Fax features; Fax; Data features
2. Introduction to Dialogic ISDN Products 5 Both the BRI/SC and the BRI/2 boards provide access to ISDN Layer 3Supplemental Services. These services can be divided into two categories: • Hold and Retrieve allows the application to place calls on hold, to retrieve held calls and to respond to request...
Page 18 - - RAS is enabled via NDIS and allows; Data Link Layer Access -; the BRI/SC products have data link layer access; Tone Generation; function
ISDN Software Reference for Linux and Windows 6 This means that the BRI/2 may be used by applications that use the standardnetworking APIs that are part of the Windows operating system. NDISsupports Remote Access Service (RAS) and Point-to-Point Protocol (PPP): • Remote Access Service (RAS) - RAS is...
Page 19 - Multiple D Channel Configuration; Chapter 5. ISDN Function; ESS Custom Messaging
2. Introduction to Dialogic ISDN Products 7 • Multiple D Channel Configuration - this feature allows the D channel of each line to be configured at any time, and as many times as needed. Theapplication can configure and reconfigure the protocol for each stationinterface, allowing different protocols...
Page 20 - See
ISDN Software Reference for Linux and Windows 8 The T-1 protocol implementations comply with the North American standardISDN Primary Rate and the INS-1500 standard used in Japan. In North Americaand Japan, the Primary Rate includes 23 voice/data channels (B channels) and onesignaling channel (D chan...
Page 22 - Terminate Configuration Applications; applications allow users to retrieve and listen to pre-recorded; Telemarketing; applications use voice processing technology to facilitate a; Drop-and-Insert Configuration Applications
ISDN Software Reference for Linux and Windows 10 The following sections contain examples of typical applications for terminate anddrop-and-insert configurations. Terminate Configuration Applications Dialogic ISDN products in a terminate configuration with one or more resourceboards (for example, voi...
Page 23 - Operator Services; applications are able to automate large numbers of; applications depend on a specific event/transaction. The; Protocol Conversion; DPNSS
2. Introduction to Dialogic ISDN Products 11 • Operator Services applications are able to automate large numbers of telephone calls that require some kind of caller assistance. Such applicationsinclude, but are not limited to, partially automated directory assistance,calling card voice prompting, an...
Page 24 - Worldview; Chapter 4. ISDN Function Overview
ISDN Software Reference for Linux and Windows 12 NOTES: 1. Only one protocol may be configured per digital network interface ata given time. 2. Refer to the package release notes or system software catalog forupdated protocol support information. Also, refer to the Dialogic Worldview website at http...
Page 25 - ISDN Technology Overview
13 3. ISDN Technology Overview The Integrated Services Digital Network (ISDN) is a digital communicationsnetwork capable of carrying all forms (voice, computer, and facsimile) of digitizeddata between switched endpoints. This chapter provides an overview of ISDNtechnology, including the signaling me...
Page 27 - Refer to the
3. ISDN Technology Overview 15 Flag Protocol Discriminator Information Message Type Flag Address FCS Information Elements Control Call Reference Value Layer 2 Layer 3 Figure 2. Layer 3 Frame (D Channel) In general, the message format for Layer 3 frames comprises variable length fieldswith the follow...
Page 28 - Table 2. Call Control States; An incoming call is offered by the network.
ISDN Software Reference for Linux and Windows 16 Table 2. Call Control States Call State Description Accepted An indication to the network that the incoming call hasbeen accepted, but has not been connected to the enduser. (Most voice applications do not need this.) Alerting The destination is reach...
Page 29 - events; Voice Software Reference -
3. ISDN Technology Overview 17 • In general, in asynchronous mode, events trigger the transitions between call states. For example, the termination event, CCEV_ANSWERED, causes thecall state to change to the Connected state . Likewise, the unsolicited event,CCEV_DISCONNECTED , causes the call state ...
Page 30 - LEGEND; Figure 3. Asynchronous Call Establishment Process; Table 3
ISDN Software Reference for Linux and Windows 18 CCEV_CONNECTED cc_AnswerCall( ) CCEV_ANSWERED Null Offered Dialing Connected cc_WaitCall( ) CCEV_OFFERED cc_MakeCall( ) cc_AnswerCall( ) CCEV_ANSWER ED CCEV_CONNECTED Accepted cc_AcceptCall( ) CCEV_ACCEPT Alerting cc_SetEvtMsk( ) (Maskable) CCEV_ALERT...
Page 31 - Issued once after line device opened with
3. ISDN Technology Overview 19 Table 3. Inbound Call Set-Up (Asynchronous Example) Function/Event Action/Description cc_WaitCall( ) Issued once after line device opened with cc_Open( ) . CCEV_OFFERED Indicates arrival of inbound call and initiatestransition to Offered state * cc_GetANI( ) Request ca...
Page 32 - Indicates successful completion of
ISDN Software Reference for Linux and Windows 20 Table 4. Outbound Call Set-up (Asynchronous Example) Function/Event Action/Description cc_MakeCall( ) Requests a connection using a specified line device.A CRN is assigned and returned immediately; call istransitioned to the Dialing state.CCEV_CONNECT...
Page 33 - Figure 4. Synchronous Call Establishment Process; Table 5
3. ISDN Technology Overview 21 cc_AcceptCall( ) cc_AnswerCall( ) Null Offered cc_MakeCall( ) in progress Connected cc_WaitCall( ) cc_MakeCall( ) cc_AnswerCall( ) completion of cc_makeCall( ) Accepted LEGEND State 0 cc_Function( ) CCEV_EVENT State 1 State 2 Inbound Outbound CCEV_ALERTING (Maskable) F...
Page 34 - Function; Request ANI information
ISDN Software Reference for Linux and Windows 22 Table 5. Inbound Call Set-Up (Synchronous Example) Function Action/Description cc_WaitCall( ) Enables notification of an incoming call after linedevice opened with cc_Open( ) . Call is in OFFERED state. * cc_GetANI( ) Request ANI information * cc_GetD...
Page 35 - Figure 5
3. ISDN Technology Overview 23 Table 6. Outbound Call Set-up (Synchronous Example) Function/Event Action/Description cc_MakeCall( ) Requests a connection using a specified line device;a CRN is assigned and returned immediately. *CCEV_ALERTING Remote end was reached but a connection has notbeen estab...
Page 36 - Figure 5. Asynchronous Call Disconnect or Failure Process; Table 7
ISDN Software Reference for Linux and Windows 24 All Other CC States Idle Null Disconnected cc_DropCall( ) CCEV_DROPCALL cc_ReleaseCall( ) cc_DropCall( ) CCEV_DROPCALL CCEV_DISCONNECTED Figure 5. Asynchronous Call Disconnect or Failure Process Table 7 presents an asynchronous call termination scenar...
Page 37 - Retrieves billing information
3. ISDN Technology Overview 25 Table 7. Call Termination (Asynchronous Example) Function/Event Action/Description CCEV_DISCONNECTED Unsolicited event generated when call isterminated by network; initiates transition toDisconnected state. cc_DropCall( ) Disconnects call specified by CRN.CCEV_DROPCALL...
Page 38 - Terminated by Application; Figure 6. Synchronous Call Disconnect or Failure Process; Table 8
ISDN Software Reference for Linux and Windows 26 All Other CC States Idle Null Disconnected cc_DropCall( ) cc_ReleaseCall( ) cc_DropCall( ) CCEV_DISCONNECTED Terminated by Application Terminated by Network Figure 6. Synchronous Call Disconnect or Failure Process Table 8 presents a synchronous call t...
Page 41 - ISDN Function Overview
29 4. ISDN Function Overview This chapter provides the following information about the Dialogic ISDN libraryfunctions used to interact with the network in an ISDN environment: • ISDN function categories • a brief description of each ISDN library function • the ISDN technologies supported for each fu...
Page 42 - Global Tone Generation
ISDN Software Reference for Linux and Windows 30 retrieve calls from the Hold state, and to accept and reject hold requests andretrieve-from-hold requests (see Table 14). • Global Tone Generation - Set, change, and control the In-band tones for BRI/SC protocols (see Table 15).
Page 43 - Table 9. Call Control Functions; accepts a connection request from the remote end
4. ISDN Function Overview 31 Table 9. Call Control Functions Function Description cc_AnswerCall( ) accepts a connection request from the remote end cc_DropCall( ) allows the application to disconnect a call cc_MakeCall( ) requests connection on the specified line device cc_ReleaseCall( ) releases th...
Page 44 - Table 10. Optional Call Handling Functions
ISDN Software Reference for Linux and Windows 32 Table 10. Optional Call Handling Functions Function Description cc_AcceptCall( ) responds to an incoming call request cc_CallAck( ) sends the first response to an incoming call cc_CallProgress( ) sends a PROGRESS message to the network cc_GetANI( ) re...
Page 45 - sets the minimum number of digits to be collected
4. ISDN Function Overview 33 cc_SetInfoElem( ) sets an information element (IE) cc_SetMinDigits( ) sets the minimum number of digits to be collected cc_SndMsg( ) sends a non-call state associated message to thenetwork cc_SndNonCallMsg( ) sends a non-Call State related ISDN message to thenetwork, wit...
Page 46 - Table 11. System Control Functions; opens a device
ISDN Software Reference for Linux and Windows 34 Table 11. System Control Functions Function Description cc_Open( ) opens a device cc_Close( ) closes a previously opened device cc_Restart( ) resets the channel to the Null state
Page 47 - Table 12. System Tool Functions
4. ISDN Function Overview 35 Table 12. System Tool Functions Function Description Configuration Tools: cc_CallState( ) retrieves the state of the call cc_CRN2LineDev( ) returns the line device number associated with aspecified call reference number cc_GetCES( ) retrieves the connection endpoint suff...
Page 48 - sets the user attribute
ISDN Software Reference for Linux and Windows 36 cc_SetParmEx( ) sets parameters requiring variable data to bepassed down to the firmware cc_SetUsrAttr( ) sets the user attribute
Page 49 - Error Handling Functions:
4. ISDN Function Overview 37 Error Handling Functions: cc_CauseValue( ) retrieves the cause of the last failure on a givendevice cc_ResultMsg( ) returns a pointer to an error string cc_ResultValue( ) retrieves the error/cause code related to an event Tracing Functions: cc_StartTrace( ) starts the ca...
Page 50 - Table 13. Data Link Layer Handling Functions; retrieves the frame received by the application
ISDN Software Reference for Linux and Windows 38 Table 13. Data Link Layer Handling Functions Function Description cc_GetFrame( ) retrieves the frame received by the application cc_SndFrame( ) sends a frame to the data link layer NOTE: These functions are available only when Layer 2 access is config...
Page 51 - Table 14. Hold and Retrieve Functions; places active calls on hold
4. ISDN Function Overview 39 Table 14. Hold and Retrieve Functions Function Description cc_HoldCall( ) places active calls on hold cc_HoldAck( ) accepts hold requests from remote equipment cc_HoldRej( ) rejects hold requests from remote equipment cc_RetrieveCall( ) retrieves a call placed on hold fr...
Page 52 - Table 15. Global Tone Generation Functions; plays a user-defined tone; API Functions and Supported ISDN Technologies; Chapter
ISDN Software Reference for Linux and Windows 40 Table 15. Global Tone Generation Functions Function Description cc_PlayTone( ) plays a user-defined tone cc_StopTone( ) stops the tone that is currently playing on a channel cc_ToneRedefine( ) redefines the tones in the firmware tone template table 4....
Page 53 - Table 16. ISDN API Functions and Supported Technologies
4. ISDN Function Overview 41 Table 16. ISDN API Functions and Supported Technologies ISDN API Functions PRI BRI/2 BRI/SC DPNSS Q.SIG cc_AcceptCall( ) * * * * * cc_AnswerCall( ) * * * * * cc_CallAck( ) * * * * * cc_CallProgress( ) * * * * * cc_CallState( ) * * * * * cc_CauseValue( ) * * * * * cc_Clos...
Page 54 - ISDN API Functions
ISDN Software Reference for Linux and Windows 42 ISDN API Functions PRI BRI/2 BRI/SC DPNSS Q.SIG cc_GetEvtMsk( ) * * * * * cc_GetFrame( ) * * * cc_GetInfoElem( ) * * * * cc_GetLineDev( ) * * * * * cc_GetMoreDigits( ) * * cc_GetNetCRV( ) * * * * cc_GetNonCallMsg( ) * * * * * cc_GetParm( ) * * * * * c...
Page 57 - ISDN Function Reference; This chapter also includes the following information:
45 5. ISDN Function Reference The Dialogic ISDN API functions are application-specific programming interfacesthat provide standard software interrupts, calls, and data formats for developingISDN applications. This chapter provides a detailed description of each ISDN APIfunction included in the cclib...
Page 58 - Table 17. ISDN Function Description Format
ISDN Software Reference for Linux and Windows 46 Table 17. ISDN Function Description Format Section Provides: Function Header the function name and briefly states its purpose. Function Overview an overview of the function, including the following: • Name Defines the function name andfunction syntax ...
Page 59 - reference; Section; mode; line device
5. ISDN Function Reference 47 5.2. Programming Conventions The Dialogic ISDN library functions use the following format: cc_function(reference, parameter1, parameter2, parameterN, mode) Where: • cc_function is the function name • reference is an input field that directs the function to a specific li...
Page 60 - not; Interpreting Function Call Failures
ISDN Software Reference for Linux and Windows 48 A call reference value (CRV), which conforms to the Q.931 standard, is anetwork-assigned value that is used to identify a call on a specific line device. TheCRV is transmitted over the network and maintained by the ISDN firmware. TheISDN firmware main...
Page 61 - function to interpret the value.
5. ISDN Function Reference 49 value <0 is returned along with the CCEV_TASKFAIL event. However,when an asynchronous function call fails, a result value of 0 (indicatingsuccess) can be returned along with the CCEV_TASKFAIL terminationevent, which indicates failure. This means that the library has ...
Page 62 - responds to an incoming call request; Description
cc_AcceptCall( ) responds to an incoming call request 50 Name: int cc_AcceptCall(crn, rings, mode) Inputs: CRN crn • call reference number int rings • number of rings before return unsigned long mode • synchronous or asynchronous Returns: 0 on success< 0 on failure Includes: cclib.h Category: Opt...
Page 63 - Cautions; None; Example
responds to an incoming call request cc_AcceptCall( ) 51 • CCEV_TASKFAIL - indicates that a request/message was rejected by thefirmware. Typically, this event is triggered by an incorrect function callduring the call. ! ! ! ! Cautions None ! ! ! ! Example #include <windows.h> /* For Windows ap...
Page 64 - Errors
cc_AcceptCall( ) responds to an incoming call request 52 int callfail(CRN crn){ LINEDEV ld;cc_CRN2LineDev(crn,&ld);procdevfail(ld); } int procdevfail(LINEDEV handle){ int reason;char *msg;reason = cc_CauseValue(handle);cc_ResultMsg(handle,reason,&msg);printf("reason = %x - %s\n",reas...
Page 65 - Category
accepts a connection request from the remote end cc_AnswerCall( ) 53 Name: int cc_AnswerCall(crn, rings, mode) Inputs: CRN crn • call reference number int rings • number of rings before return unsigned long mode • synchronous or asynchronous Returns: 0 on success< 0 on failure Includes: cclib.h C...
Page 66 - Termination Events
cc_AnswerCall( ) accepts a connection request from the remote end 54 ! ! ! ! Termination Events • CCEV_ANSWERED - indicates that a CONNECT message has been sent tothe network. • CCEV_TASKFAIL - indicates that a request/message was rejected by thefirmware. Typically, this event is triggered by an inc...
Page 68 - send the first response to an incoming call
cc_CallAck( ) send the first response to an incoming call 56 Name: int cc_CallAck(crn, newLineDev, msg_id) Inputs: CRN crn • call reference number LINEDEV newLineDev • new line device handle int msg_id • message id Returns: 0 on success< 0 on failure Includes: cclib.h Category: Optional call hand...
Page 69 - Termination Event
send the first response to an incoming call cc_CallAck( ) 57 • cc_CallAck(crn, newLineDev, CALL_PROCEEDING) if a new B channel is desired. 2. The received setup message contains insufficient destination information. The application should use the function in one of the following ways: • cc_CallAck(c...
Page 70 - If the function returns a value < 0 to indicate failure, use the
cc_CallAck( ) send the first response to an incoming call 58 * The cc_CallAck() function needs to be called after* cc_WaitCall and before cc_CallProgress(), cc_AcceptCall()* and cc_AnswerCall()*/ if ( cc_CallAck(crn,0,CALL_PROCEEDING) < 0 ) callfail(crn); printf("Accepting call\n");if ( c...
Page 71 - Error codes from the; Error Code; Bad interface number; See Also
send the first response to an incoming call cc_CallAck( ) 59 Error codes from the cc_CallAck( ) function include the following: Error Code Description E_ISBADIF | ERR_ISDN_LIB Bad interface number E_ISBADTS | ERR_ISDN_LIB Bad time slot ! ! ! ! See Also • • • • cc_SetEvtMsk( )
Page 72 - sends a PROGRESS message to the network
cc_CallProgress( ) sends a PROGRESS message to the network 60 Name: int cc_CallProgress(crn, indicator) Inputs: CRN crn • call reference number int indicator • progress indicator Returns: 0 on success < 0 on failure Includes: cclib.h Category: Optional call handling Mode: synchronous Technology: ...
Page 75 - retrieves the state of a call
retrieves the state of a call cc_CallState( ) 63 Name: int cc_CallState(crn, state_buf) Inputs: CRN crn • call reference number int* state_buf • pointer to requested state number Returns: 0 on success < 0 on failure Includes: cclib.h Category: System tools Mode: synchronous Technology: BRI/2; BRI...
Page 76 - Parameter
cc_CallState( ) retrieves the state of a call 64 Parameter Description • CCST_NULL - The call was released; the call is in the Nullstate. • CCST_OFFERED - An inbound call was received; the call isin the Offered state. ! ! ! ! Cautions Due to normal process latency time, the state value acquired may ...
Page 79 - retrieves the error/cause code of a failure
retrieves the error/cause code of a failure cc_CauseValue( ) 67 Name: int cc_CauseValue(linedev) Inputs: LINEDEV linedev • line device handle Returns: cause value code Includes: cclib.h Category: System tools Mode: synchronous Technology: BRI/2; BRI/SC; PRI (all protocols) ! ! ! ! Description The cc...
Page 81 - The
retrieves the error/cause code of a failure cc_CauseValue( ) 69 { int reason;char *msg;reason = cc_CauseValue(handle);cc_ResultMsg(handle,reason,&msg);printf("reason = %x - %s\n",reason,msg); } ! ! ! ! Errors The cc_CauseValue( ) function returns -1 when there is no error/cause code avai...
Page 82 - closes a previously opened line device
cc_Close( ) closes a previously opened line device 70 Name: int cc_Close(linedev) Inputs: LINEDEV linedev • line device handle Returns: 0 on success< 0 on failure Includes: cclib.h Category: System control Mode: synchronous Technology: BRI/2; BRI/SC; PRI (all protocols) ! ! ! ! Description The cc...
Page 85 - matches a CRN to its line device handle
matches a CRN to its line device handle cc_CRN2LineDev( ) 73 Name: int cc_CRN2LineDev(crn, linedevp) Inputs: CRN crn • call reference number LINEDEV *linedevp • pointer to a buffer to store theline device handle Returns: 0 on success< 0 on failure Includes: cclib.h Category: System control Mode: ...
Page 87 - allows the application to disconnect a call
allows the application to disconnect a call cc_DropCall( ) 75 Name: int cc_DropCall(crn, cause, mode) Inputs: CRN crn • call reference number int cause • reason for dropping the call unsigned long mode • synchronous or asynchronous Returns: 0 on success< 0 on failure Includes: cclib.h Category: C...
Page 88 - Value
cc_DropCall( ) allows the application to disconnect a call 76 Value Description CHAN_DOES_NOT_EXIST Channel does not exist CHAN_NOT_IMPLEMENTED Channel type not implemented CHANNEL_UNACCEPTABLE Channel is unacceptable DEST_OUT_OF_ORDER Destination out of order FACILITY_NOT_IMPLEMENT Requested facili...
Page 90 - In order to release the call reference number
cc_DropCall( ) allows the application to disconnect a call 78 ! ! ! ! Cautions In order to release the call reference number , this function must be followed by a cc_ReleaseCall( ) to prevent a blocking condition or memory allocation errors. ! ! ! ! Example #include <windows.h> /* For Windows ...
Page 92 - retrieves Automatic Number Identification (ANI) information
cc_GetANI( ) retrieves Automatic Number Identification (ANI) information 80 Name: int cc_GetANI(crn, ani_buf) Inputs: CRN crn • call reference number char *ani_buf • pointer to buffer where ANI will bestored Returns: 0 on success< 0 on failure Includes: cclib.h Category: Optional call handling Mo...
Page 94 - Bad call reference number
cc_GetANI( ) retrieves Automatic Number Identification (ANI) information 82 Error Code Description E_ISBADCRN | ERR_ISDN_LIB Bad call reference number E_ISBADPAR | ERR_ISDN_LIB Bad input parameter E_ISNOINFOBUF | ERR_ISDN_LIB Information buffer not ready ! ! ! ! See Also • cc_WaitCall( ) • cc_ReqANI...
Page 95 - retrieves the status of the B channel
retrieves the status of the B channel cc_GetBChanState( ) 83 Name: int cc_GetBChanState(linedev, bchstate_buf) Inputs: LINEDEV linedev • line device handle for the Bchannel int *bchstate_buf • pointer to the location where the Bchannel state value is stored Returns: 0 on success< 0 on failure Inc...
Page 98 - gets the call charge information
cc_GetBilling( ) gets the call charge information 86 Name: int cc_GetBilling(crn, billing_buf) Inputs: CRN crn • call reference number char *billing_buf • pointer to billing string buffer Returns: 0 on success< 0 on failure Includes: cclib.h Category: Optional call handling Mode: synchronous Tech...
Page 101 - gets the information elements associated with the CRN
gets the information elements associated with the CRN cc_GetCallInfo( ) 89 Name: cc_GetCallInfo(crn, info_id, valuep) Inputs: CRN crn • call reference number int info_id • call information identifier char *valuep • pointer to information buffer Returns: 0 on success< 0 on failure Includes: cclib....
Page 102 - Table; Appendix C
cc_GetCallInfo( ) gets the information elements associated with the CRN 90 Table 19. cc_GetCallInfo( ) Info_ID Definitions info_id Definition U_IES Information Elements (IEs) in CCITT format. The cc_GetCallInfo( ) function retrieves all unprocessed IEs in CCITT format. Be sure to allocate enough mem...
Page 105 - retrieves the connection endpoint suffix
retrieves the connection endpoint suffix cc_GetCES( ) 93 Name: int cc_GetCES(cesp, evtdatap) Inputs: char *cesp • pointer to connection endpoint suffixbuffer void *evtdatap • pointer to an event block Returns: 0 on success< 0 on failure Includes: cclib.h Category: System tools Mode: synchronous T...
Page 108 - gets the last channel information
cc_GetChanId( ) gets the last channel information 96 Name: cc_GetChanId(crn, chanId) Inputs: CRN crn • call reference number CHAN_ID *chanId • pointer to channel ID structure Returns: 0 on success< 0 on failure Includes: cclib.h Category: Optional call handling Mode: synchronous Technology: BRI/2...
Page 113 - retrieves the call reference number for the event
retrieves the call reference number for the event cc_GetCRN( ) 101 Name: int cc_GetCRN(crnp, evtdatap) Inputs: CRN *crnp • pointer to the CRN void *evtdatap • pointer to an event block Returns: 0 on success< 0 on failure Includes: cclib.h Category: System tools Mode: synchronous Technology: BRI/2...
Page 114 - If the function returns < 0 to indicate failure, use the
cc_GetCRN( ) retrieves the call reference number for the event 102 #include "cclib.h" main(){ ....if ( sr_enbhdlr( devhdl,CCEV_DISCONNECTED,discCallHdlr ) < 0 ){ printf( "dtiEnable for DISCONNECT failed: %s\n", ATDV_ERRMSGP( SRL_DEVICE ) ); return( 1 ); }....while (1){ /* wait for...
Page 115 - function indicates that the
retrieves the call reference number for the event cc_GetCRN( ) 103 Typically, a < 0 return code for the cc_GetCRN( ) function indicates that the function reference (the device number) is not valid for the function call. ! ! ! ! See Also • • • • cc_WaitCall( ) • • • • cc_MakeCall( )
Page 116 - retrieves the status of the D channel
cc_GetDChanState( ) retrieves the status of the D channel 104 Name: int cc_GetDChanState(boarddev, dchstate_buf) Reference: LINEDEV boarddev • line device handle for the Dchannel board int *dchstate_buf • pointer to the location where therequested D channel state valueis stored Returns: 0 on success...
Page 119 - retrieves the configuration of a logical link
retrieves the configuration of a logical link cc_GetDLinkCfg( ) 107 Name: int cc_GetDLinkCfg(bdev, dlinkptr, dlinkcfgptr) Inputs: LINEDEV bdev • device handle DLINK *dlinkptr • pointer to data linkinformation block DLINK_CFG *dlinkcfgptr • pointer to location of Dchannel logical linkconfiguration bl...
Page 121 - retrieves the logical data link state
retrieves the logical data link state cc_GetDLinkState( ) 109 Name: int cc_GetDLinkState(bdev, dlinkptr, state_buf) Inputs: LINEDEV bdev • device handle DLINK *dlinkptr • pointer to data link informationblock int *state_buf • pointer to location of D channelstate Returns: 0 on success< 0 on failu...
Page 123 - Bad interface number
retrieves the logical data link state cc_GetDLinkState( ) 111 Error Code Description ERR_ISDN_LIB|E_ISBADIF Bad interface number ERR_ISDN_LIB|E_ISNOMEM Cannot map or allocate memory ! ! ! ! See Also • • • • cc_GetCES( ) • • • • cc_GetSAPI( )
Page 124 - gets the dialed number information string
cc_GetDNIS( ) gets the dialed number information string 112 Name: int cc_GetDNIS(crn, dnis_buf) Inputs: CRN crn • call reference number char *dnis_buf • pointer to DNIS buffer Returns: 0 on success< 0 on failure Includes: cclib.h Category: Optional call handling Mode: synchronous Technology: BRI/...
Page 127 - retrieves the current ISDN event mask; Receiving CCEV_ALERTING
retrieves the current ISDN event mask cc_GetEvtMsk( ) 115 Name: int cc_GetEvtMsk(bdev, maskp) Inputs: LINEDEV bdev • device handle ULONG *maskp • pointer to mask buffer Returns: 0 on success< 0 on failure Includes: cclib.h Category: System tools Mode: synchronous Technology: BRI/2; BRI/SC; PRI (a...
Page 128 - Bitmask Type
cc_GetEvtMsk( ) retrieves the current ISDN event mask 116 Bitmask Type Action Default Setting CCMSK_SERVICE Receiving CCEV_SERVICE.When this event arrives, theapplication should respondwith a status message using cc_SndMsg( ) . The firmware will not automatically respondto this message. Not enabled ...
Page 131 - retrieves the frame
retrieves the frame cc_GetFrame( ) 119 Name: int cc_GetFrame(linedev, rcvfrmptr) Inputs: LINEDEV linedev • line device handle for D channel L2_BLK *rcvfrmptr • pointer to the received frame buffer Returns: 0 on success< 0 on failure Includes: cclib.h Category: Data link layer handling Mode: synch...
Page 133 - Information not available
retrieves the frame cc_GetFrame( ) 121 Error codes from the cc_GetFrame( ) function include the following: Error Code Description ERR_ISDN_LIB | E_ISNOINFO Information not available ! ! ! ! See Also • cc_SndFrame( )
Page 134 - gets information elements associated with a line device; Caution
cc_GetInfoElem( ) gets information elements associated with a line device 122 Name: int cc_GetInfoElem(linedev, iep) Reference: LINEDEV linedev • line device handle of the B channelboard Inputs: IE_BLK *iep • pointer to the information elementbuffer Returns: 0 on success< 0 on failure Includes: c...
Page 135 - Network Facility IE using the
gets information elements associated with a line device cc_GetInfoElem( ) 123 Network Facility IE using the cc_GetCallInfo( ) function is no longer supported. ! ! ! ! Example #include <windows.h> /* For Windows applications only */ #include <srllib.h>#include <cclib.h> long evt_han...
Page 137 - retrieves the line device handle for an event
retrieves the line device handle for an event cc_GetLineDev( ) 125 Name: int cc_GetLineDev(linedevp, evtdatap) Inputs: LINEDEV *linedevp • pointer to the line device handle void *evtdatap • pointer to an event block Returns: 0 on success< 0 on failure Includes: cclib.h Category: System tools Mode...
Page 139 - collects more digits via overlap receiving
collects more digits via overlap receiving cc_GetMoreDigits( ) 127 Name: int cc_GetMoreDigits(crn, numofdigs, timeout, mode) Inputs: CRN crn • call reference number int numofdigs • number of digits to be collected long timeout • timeout value in seconds unsigned long mode • asynchronous or synchrono...
Page 143 - retrieves the network call reference value; Appendix A - Call Control Scenarios
retrieves the network call reference value cc_GetNetCRV( ) 131 Name: int cc_GetNetCRV(crn, netcrvp) Inputs: CRN crn • call reference number int *netcrvp • pointer to network call reference buffer Returns: 0 on success< 0 on failure Includes: cclib.h Category: System tools Mode: synchronous Techno...
Page 146 - retrieves call data for a GLOBAL or NULL CRN event
cc_GetNonCallMsg( ) retrieves call data for a GLOBAL or NULL CRN event 134 Name: int cc_GetNonCallMsg(devhndl, msgblkptr) Inputs: LINEDEV devHndl • board device handleassociated with NULL orGLOBAL CRN event NONCRN_BLK *msgblkptr • pointer to NULL orGLOBAL informationstructure Returns: 0 on success&l...
Page 147 - function in the
retrieves call data for a GLOBAL or NULL CRN event cc_GetNonCallMsg( ) 135 • CCEV_INFOGLOBAL • CCEV_NOTIFYGLOBAL • CCEV_FACILITYGLOBAL Parameter Description devhndl: The board device on which the GLOBAL or NULL eventoccurred. msgblkptr: Pointer to the NONCRN_BLK data structure that contains theinfor...
Page 150 - gets the current parameter values of the line device
cc_GetParm( ) gets the current parameter values of the line device 138 Name: int cc_GetParm(linedev, parm_id, valuep) Inputs: LINEDEV linedev • line device handle int parm_id • parameter identifier CC_PARM *valuep • pointer to value buffer Returns: 0 on success< 0 on failure Includes: cclib.h Cat...
Page 152 - Define
cc_GetParm( ) gets the current parameter values of the line device 140 Define Description Possible return values USR_RATE User rate to useon bearerchannel (layer1 rate) ISDN_UR_EINI460 - determined byE bits in I.460 ISDN_UR_56000 - 56 kbits ISDN_UR_64000 - 64 kbits ISDN_UR_134 - 134.5 bits, X.1 ISDN...
Page 156 - retrieve parameters containing variable data
cc_GetParmEx( ) retrieve parameters containing variable data 144 Name: int cc_GetParmEx(linedev, parm_id, valuep) Inputs: LINEDEV linedev • line device handle int parm_id • parameter identifier PARM_INFO *valuep • pointer to buffer containing thevariable data Returns: 0 on success< 0 on failure I...
Page 160 - retrieves the service access point ID
cc_GetSAPI( ) retrieves the service access point ID 148 Name: int cc_GetSAPI(sapip, evtdatap) Inputs: char *sapip • pointer to service access point IDbuffer void *evtdatap • pointer to an event block Returns: 0 on success< 0 on failure Includes: cclib.h Category: System tools Mode: synchronous Te...
Page 162 - Null pointer error
cc_GetSAPI( ) retrieves the service access point ID 150 can be used to interpret the reason code. Error codes are defined in the files ccerr.h , isdnerr.h , and isdncmd.h . Error codes from the cc_GetSAPI( ) function include the following: Error Code Description ERR_ISDN_LIB | E_ISNULLPTR Null point...
Page 163 - gets the signaling information of an incoming message
gets the signaling information of an incoming message cc_GetSigInfo( ) 151 Name: int cc_GetSigInfo(valuep, info_id, evtdatap) Inputs: char *valuep • pointer to information buffer int info_id • signal information identifier void *evtdatap • pointer to an event block Returns: 0 on success< 0 on fai...
Page 168 - gets the established attribute for the line device
cc_GetUsrAttr( ) gets the established attribute for the line device 156 Name: int cc_GetUsrAttr(linedev, usr_attr) Inputs: LINEDEV linedev • line device handle long *usr_attr • user attribute information Returns: 0 on success< 0 on failure Includes: cclib.h Category: System tools Mode: synchronou...
Page 171 - retrieves the firmware version number
retrieves the firmware version number cc_GetVer( ) 159 Name: int cc_GetVer(linedev, majorp, minorp) Inputs: LINEDEV linedev • line device handle int *majorp • pointer to major number int *minorp • pointer to minor number Returns: 0 on success< 0 on failure Includes: cclib.h Category: Optional cal...
Page 173 - accept a hold request from remote equipment; Categories
accept a hold request from remote equipment cc_HoldAck( ) 161 Name: int cc_HoldAck(crn) Inputs: CRN crn • call reference number Returns: 0 on success<0 on failure Includes: cclib.h Category: Hold and Retrieve Mode: synchronous Technology: BRI/2; BRI/SC; PRI (DPNSS and Q.SIG only) ! ! ! ! Descript...
Page 175 - Cannot accept event in current state
accept a hold request from remote equipment cc_HoldAck( ) 163 Error codes from the cc_HoldAck( ) function include the following: Error Code Description ERR_ISDN_FW | ISDN_BADSTATE Cannot accept event in current state ERR_ISDN_LIB | E_ISNULL_PTR Null pointer error ! ! ! ! See Also • cc_RetrieveCall( ...
Page 176 - place an active call on hold
cc_HoldCall( ) place an active call on hold 164 Name: int cc_HoldCall(crn, mode) Inputs: CRN crn • call reference number unsigned long mode • synchronous or asynchronous Returns: 0 on success <0 on failure Includes: cclib.h Category: Hold and Retrieve Mode: synchronous or asynchronous Technology:...
Page 179 - reject a hold request from remote equipment
reject a hold request from remote equipment cc_HoldRej( ) 167 Name: int cc_HoldRej(crn, cause) Inputs: CRN crn • call reference number int cause • standard ISDN Network error code Returns: 0 on success<0 on failure Includes: cclib.h Category: Hold and Retrieve Mode: synchronous Technology: BRI/2;...
Page 182 - request a connection to make an outgoing call
cc_MakeCall( ) request a connection to make an outgoing call 170 Name: int cc_MakeCall(linedev, crnp, numberstr, makecallp,timeout, mode) Inputs: LINEDEV linedev • device handle CRN *crnp • pointer to call referencenumber char *numberstr • destination phonenumber MAKECALL_BLK *makecallp • pointer to...
Page 183 - timeout; parameter to 0 causes this parameter to be ignored.
request a connection to make an outgoing call cc_MakeCall( ) 171 Parameter Description linedev: The line device handle or, for applications using the callwaiting feature, the board device handle (BRI and Windowsonly). crnp: Pointer to the buffer where the call reference number will bestored. numbers...
Page 184 - BRI only: Applications using the call waiting feature must use the
cc_MakeCall( ) request a connection to make an outgoing call 172 • BRI only: Applications using the call waiting feature must use the cc_MakeCall( ) function in asynchronous mode. ! ! ! ! Example #include <windows.h> /* For Windows applications only */ #include <stdio.h>#include <errn...
Page 190 - If the function returns < 0 to indicate failure, check
cc_Open( ) opens a device 178 int callfail(CRN crn){ LINEDEV ld; cc_CRN2LineDev(crn,&ld);procdevfail(ld); } int procdevfail(LINEDEV handle){ int reason;char *msg;reason = cc_CauseValue(handle);cc_ResultMsg(handle,reason,&msg);printf(“reason = %x - %s\n”,reason,msg); } ! ! ! ! Errors If the f...
Page 191 - play a user-defined tone
play a user-defined tone cc_PlayTone( ) 179 Name: int cc_PlayTone(devHdl, pToneParm, tptp, mode) Inputs: int devHdl • channel device handle toneParm *pToneParm • pointer to the toneParm structure DV_TPT *tptp • pointer to the DV_TPT structure int mode • asynchronous/synchronous Returns: 0 on success...
Page 192 - The channel must be in the Idle state when calling the
cc_PlayTone( ) play a user-defined tone 180 Use the SRL Event Management functions to handle the termination event. ! ! ! ! Cautions • The channel must be in the Idle state when calling the cc_PlayTone( ) function. • The cc_PlayTone( ) command is a host tone command that allows the application to pl...
Page 194 - Invalid value specified in parameter toneOn1
cc_PlayTone( ) play a user-defined tone 182 ERR_TONEON1 Invalid value specified in parameter toneOn1 ERR_TONEOFF1 Invalid value specified in parameter toneOff1 ERR_TONEDURATION Invalid value specified in parameter duration ERR_TONECHANNELID Invalid channel ID ! ! ! ! See Also • cc_ToneRedefine( ) • ...
Page 195 - release all internal resources
release all internal resources cc_ReleaseCall( ) 183 Name: int cc_ReleaseCall(crn) Inputs: CRN crn • call reference number Returns: 0 on success< 0 on failure Includes: cclib.h Category: Call control Mode: synchronous Technology: BRI/2; BRI/SC; PRI (all protocols) ! ! ! ! Description The cc_Relea...
Page 196 - After a connection is terminated, the
cc_ReleaseCall( ) release all internal resources 184 bottleneck for processing any other event and, thereby, could affect callhandling performance. • After a connection is terminated, the cc_ReleaseCall( ) function should be called to release the call reference number (CRN). Failure to call this fun...
Page 198 - release all Dialogic ISDN resources
cc_ReleaseCallEx( ) release all Dialogic ISDN resources 186 Name: int cc_ReleaseCallEx(crn, mode) Inputs: CRN crn • call reference number unsigned longmode • synchronous or asynchronous Returns: 0 on success< 0 on failure Includes: cclib.h Category: Call control Mode: synchronous or asynchronous ...
Page 199 - CCEV_RELEASECALLFAIL – indicates that the
release all Dialogic ISDN resources cc_ReleaseCallEx( ) 187 ! ! ! ! Termination Events • CCEV_RELEASECALL - indicates that all Dialogic ISDN resources havebeen released for the call. • CCEV_RELEASECALLFAIL – indicates that the cc_ReleaseCallEx( ) function failed. ! ! ! ! Cautions The cc_ReleaseCallE...
Page 201 - Possible error codes from the
release all Dialogic ISDN resources cc_ReleaseCallEx( ) 189 Possible error codes from the cc_ReleaseCallEx( ) function include the following: Error Code Description ERR_ISDN_LIB | E_ISBADIF Bad interface number ERR_ISDN_LIB | E_BADSTATE Bad state ERR_ISDN_LIB | E_ISBADTS Bad time slot ! ! ! ! See Al...
Page 202 - returns the caller ID
cc_ReqANI( ) returns the caller ID 190 Name: int cc_ReqANI(crn, ani_buf, reqtype, mode) Inputs: CRN crn • call reference number char *ani_buf • pointer to address of ANI buffer int reqtype • type of information requested unsigned long mode • synchronous or asynchronous Returns: 0 on success< 0 on...
Page 205 - Bad input parameter
returns the caller ID cc_ReqANI( ) 193 Error Code Description ERR_ISDN_LIB | E_ISBADPAR Bad input parameter ERR_ISDN_LIB | E_ISNULLPTR Null pointer error ERR_ISDN_LIB | E_ISBADIF Bad interface number ERR_ISDN_LIB | E_ISBADCALLID Bad call identifier ERR_ISDN_LIB | E_ISBADTS Bad time slot ! ! ! ! See ...
Page 206 - resets the channel to Null state
cc_Restart( ) resets the channel to Null state 194 Name: int cc_Restart(linedev, mode) Inputs: LINEDEV linedev • device handle unsigned long mode • asynchronous or synchronous Returns: 0 on success< 0 on failure Includes: cclib.h Category: System control Mode: synchronous or asynchronous Technolo...
Page 207 - after this event is received to verify
resets the channel to Null state cc_Restart( ) 195 ! ! ! ! Termination Event • CCEV_RESTART - indicates that the Restart operation has been completed.The channel is in Null state. • CCEV_RESTARTFAIL - indicates that the function call failed. Theapplication can use cc_ResultValue( ) after this event ...
Page 210 - interprets the function return code
cc_ResultMsg( ) interprets the function return code 198 Name: int cc_ResultMsg(linedev, ResultCode, msg) Inputs: LINEDEV linedev • line device handle int ResultCode • function return value char **msg • pointer to the address where theresult message is stored Returns: 0 on success< 0 on failure In...
Page 213 - gets an error/cause code
gets an error/cause code cc_ResultValue( ) 201 Name: int cc_ResultValue(evtdatap) Inputs: void *evtdatap • pointer to an event block Returns: 0 on success< 0 on failure to retrieve the error/cause value> 0 error/cause value associated with event Includes: cclib.h Category: System tools Mode: s...
Page 216 - accept a request to retrieve a call from hold
cc_RetrieveAck( ) accept a request to retrieve a call from hold 204 Name: int cc_RetrieveAck(crn) Inputs: CRN crn • call reference number Returns: 0 on success<0 on failure Includes: cclib.h Category: Hold and Retrieve Mode: synchronous Technology: BRI/2; BRI/SC; PRI (Q.SIG only) ! ! ! ! Descript...
Page 219 - retrieve a call from the Hold state
retrieve a call from the Hold state cc_RetrieveCall( ) 207 Name: int cc_RetrieveCall(crn, mode) Inputs: CRN crn • call reference number unsigned long mode • synchronous or asynchronous Returns: 0 on success<0 on failure Includes: cclib.h Category: Hold and Retrieve Mode: synchronous or asynchrono...
Page 222 - reject a request to retrieve a held call
cc_RetrieveRej( ) reject a request to retrieve a held call 210 Name: int cc_RetrieveRej(crn, cause) Inputs: CRN crn • call reference number int cause • standard ISDN Network cause/errorcode Returns: 0 on success<0 on failure Includes: cclib.h Category: Hold and Retrieve Mode: synchronous Technolo...
Page 226 - sets the billing rate for
cc_SetBilling( ) sets the billing rate for 214 Name: int cc_SetBilling(crn, rate_type, ratep, mode) Inputs: CRN crn • call reference number int rate_type • type of billing data CC_RATE_U *ratep • pointer to call charge rate unsigned long mode • asynchronous or synchronous Returns: 0 on success< 0...
Page 227 - may not function in all service-provider environments.
Vari-A-Bill services cc_SetBilling( ) 215 ! ! ! ! Termination Events • CCEV_SETBILLING - indicates that the billing information for the call hasbeen acknowledged by the network. This event is returned only when theAT&T Vari-A-Bill feature is used. • CCEV_TASKFAIL - indicates that a request/messa...
Page 230 - sets the default calling party number
cc_SetCallingNum( ) sets the default calling party number 218 Name: int cc_SetCallingNum(linedev, callingnum) Inputs: LINEDEV linedev • line device handle char *callingnum • calling phone number string Returns: 0 on success< 0 on failure Includes: cclib.h Category: Optional call handling Mode: sy...
Page 232 - Bad time slot
cc_SetCallingNum( ) sets the default calling party number 220 Error codes from the cc_SetCallingNum( ) function include the following: Error Code Description ERR_ISDN_LIB | E_ISBADTS Bad time slot ERR_ISDN_LIB | E_ISBADIF Bad interface number ! ! ! ! See Also • cc_MakeCall( )
Page 233 - change the maintenance state of a specified B channel
change the maintenance state of a specified B channel cc_SetChanState( ) 221 Name: int cc_SetChanState(linedev, chanstate, mode) Inputs: LINEDEV linedev • line device handle int chanstate • channel service state unsigned long mode • synchronous or asynchronous Returns: 0 on success< 0 on failure ...
Page 236 - sets the configuration of the Digital Subscriber Loop
cc_SetDChanCfg( ) sets the configuration of the Digital Subscriber Loop 224 Name: int cc_SetDChanCfg(boarddev, dchan_cfgptr) Inputs: LINEDEV boarddev • line device handle of the Dchannel board DCHAN_CFG dchan_cfgptr • pointer to DCHAN_CFGstructure Returns: 0 on success< 0 on failure Includes: isd...
Page 240 - configures a logical link
cc_SetDLinkCfg( ) configures a logical link 228 Name: int cc_SetDLinkCfg(bdev, dlinkptr, dlinkcfgptr) Inputs: LINEDEV bdev • device handle DLINK *dlinkptr • pointer to data linkinformation block DLINK_CFG *dlinkcfgptr • pointer to location of Dchannel logical linkconfiguration block Returns: 0 on su...
Page 242 - set the logical data link state
cc_SetDLinkState( ) set the logical data link state 230 Name: int cc_SetDLinkState(bdev, dlinkptr, state_buf) Inputs: LINEDEV bdev • device handle DLINK *dlinkptr • pointer to data link information block int *state_buf • pointer to location of D channel state Returns: 0 on success< 0 on failure I...
Page 243 - Board device handle for PRI, station device handle for BRI.; Although the
set the logical data link state cc_SetDLinkState( ) 231 Parameter Description bdev: Board device handle for PRI, station device handle for BRI. dlinkptr: Pointer to the data link information block. See Section 6.4. DLINK for a description of the elements of this data structure. state_buf: Pointer to...
Page 245 - sets the event mask
sets the event mask cc_SetEvtMsk( ) 233 Name: int cc_SetEvtMsk(linedev, mask, action) Inputs: LINEDEV linedev • line device handle unsigned long mask • bitmask or events int action • action to be taken on the mask bit Returns: 0 on success< 0 on failure Includes: cclib.h Category: System tools Mo...
Page 247 - Table 25. Bitmask Actions
sets the event mask cc_SetEvtMsk( ) 235 Bitmask Type Action Default CCMSK_TMREXPEVENT Receiving the CCEV_TIMERevent. This event is generatedwhen some timer expires at thefirmware in Layer 3. Timer ID,Call ID and the value of thetimer are returned. Not enabled The action parameter may either set or r...
Page 250 - sets additional information elements
cc_SetInfoElem( ) sets additional information elements 238 Name: int cc_SetInfoElem(linedev, iep) Reference: LINEDEV linedev • line device handle of the B channelboard Inputs: IE_BLK *iep • pointer to the information elementbuffer Returns: 0 on success< 0 on failure Includes: cclib.h Category: Op...
Page 256 - sets the default channel parameters
cc_SetParm( ) sets the default channel parameters 244 Name: int cc_SetParm(linedev, parm_id, value) Inputs: LINEDEV linedev • line device handle int parm_id • parameter identifier long value • parameter value Returns: 0 on success< 0 on failure Includes: cclib.h Category: System tools Mode: synch...
Page 257 - Parameter ID Definitions
sets the default channel parameters cc_SetParm( ) 245 Table 26. cc_SetParm( ) Parameter ID Definitions Define Description Possible return values BC_XFER_CAP Bearer channelinformationtransfercapability BEAR_CAP_SPEECH - speech BEAR_CAP_UNREST_DIG -unrestricted data BEAR_REST_DIG - restricted data BC_...
Page 259 - CALLING_PRESENTATION
sets the default channel parameters cc_SetParm( ) 247 Define Description Possible return values CALLING_NUM_PLAN Calling numberplan Same values asCALLED_NUM_PLAN CALLING_PRESENTATION Callingpresentationindicator PRESENTATION_ALLOWED -allows the display of the callingnumber at the remote end CALLING_...
Page 262 - set parameters requiring variable data to be passed
cc_SetParmEx( ) set parameters requiring variable data to be passed 250 Name: int cc_SetParmEx(linedev, parm_id, *parminfoptr) Inputs: LINEDEV linedev • line device handle int parm_id • parameter identifier PARM_INFO *parminfoptr • pointer to the PARM_INFOblock Returns: 0 on success< 0 on failure...
Page 269 - sends a frame to the data link layer
sends a frame to the data link layer cc_SndFrame( ) 257 Name: int cc_SndFrame(linedev, sndfrmptr) Inputs: LINEDEV linedev • line device handle for the Dchannel L2_BLK *sndfrmptr • pointer to the transmit framebuffer Returns: 0 on success< 0 on failure Includes: cclib.h Category: Data link layer h...
Page 272 - sends a non-Call State related ISDN message to the network
cc_SndMsg( ) sends a non-Call State related ISDN message to the network 260 Name: int cc_SndMsg(crn, msg_type, sndmsgptr) Inputs: CRN crn • call reference number int msg_type • ISDN message type IE_BLK *sndmsgptr • pointer to the information element(IE) block Returns: 0 on success< 0 on failure I...
Page 273 - All Protocols; SndMsg_UsrInformation
sends a non-Call State related ISDN message to the network cc_SndMsg( ) 261 Table 27. ISDN Message Types for cc_SndMsg( ) All Protocols Custom BRI 5ESS only DPNSS only SndMsg_Congestion SndMsg_Drop SndMsg_Divert SndMsg_Facility SndMsg_DropAck SndMsg_Intrude SndMsg_FacilityAck SndMsg_DropRej SndMsg_N...
Page 276 - sends a non-call related ISDN message
cc_SndNonCallMsg( ) sends a non-call related ISDN message 264 Name: int cc_SndNonCallMsg(boarddev, crn_type, msg_type,sndmsgptr) Inputs: LINEDEV boarddev • board device int crn_type • ISDN call referencenumber type int msg_type • ISDN message type NONCRN_BLK *sndmsgptr • pointer to the messageblock ...
Page 280 - start the capture of all D channel information; isdtrace
cc_StartTrace( ) start the capture of all D channel information 268 Name: int cc_StartTrace(boarddev, FileName) Inputs: LINEDEV boarddev • board device handle controllingthe D channel char *FileName • file name for the trace Returns: 0 on success< 0 on failure Includes: cclib.h Category: System t...
Page 283 - forces the termination of a tone
forces the termination of a tone cc_StopTone( ) 271 Name: int cc_StopTone(devHdl, mode) Inputs: int devHdl • channel device handle int mode • asynchronous/synchronous Returns: 0 on success<0 on failure Includes: cclib.h Category: Global Tone Generation Mode: asynchronous/synchronous Technology: B...
Page 287 - stops the trace
stops the trace cc_StopTrace( ) 275 Name: int cc_StopTrace(boarddev) Inputs: LINEDEV boarddev • board device handle Returns: 0 on success< 0 on failure Includes: cclib.h Category: System control Mode: asynchronous Technology: BRI/2; BRI/SC; PRI (all protocols) ! ! ! ! Description The cc_StopTrace...
Page 290 - Appendix A
cc_TermRegisterResponse( ) sends a response for CCEV_TERM_REGISTER 278 Name: int cc_TermRegisterResponse(linedev, data_blk_ptr) Inputs: LINEDEV linedev • board device handle TERM_BLK data_blk_ptr • pointer to the terminalinitialization block data to besent to the firmware Returns: 0 on success< 0...
Page 291 - Voice Software
sends a response for CCEV_TERM_REGISTER cc_TermRegisterResponse( ) 279 The data associated with the terminal initialization events can be retrieved using sr_getevtdatap( ) and casting the value to data types associated with the received event. The types of data structures that are used to cast the e...
Page 295 - redefines a call progress tone’s attributes; Table 29. Tone Template
redefines a call progress tone’s attributes cc_ToneRedefine( ) 283 Name: int cc_ToneRedefine(devHdl, sigType, pToneParm, mode) Inputs: LINEDEV devHdl • line device handle unsigned char sigType • Tone Signal Type toneParm *pToneParm • pointer to Tone Parameterstructure int mode • asynchronous/synchro...
Page 296 - Table 29. Tone Template Table; function description for; sigType; from the template table.
cc_ToneRedefine( ) redefines a call progress tone’s attributes 284 The following table shows the tone template table that resides in the firmware. Table 29. Tone Template Table SigType Mean-ing Default values (in ms) dura-tion freq1 amp1 freq2 amp2 toneOn1 toneOff1 nouse nouse 0x01 Dialtone -1 350 -...
Page 297 - CCEV_TONEREDEFINEFAIL - indicates that the function failed
redefines a call progress tone’s attributes cc_ToneRedefine( ) 285 ! ! ! ! Termination Events • CCEV_TONEREDEFINE - indicates that the tone was successfully redefined • CCEV_TONEREDEFINEFAIL - indicates that the function failed Use the SRL Event Management functions to handle the termination event. ...
Page 301 - sets up conditions for processing an incoming call
sets up conditions for processing an incoming call cc_WaitCall( ) 289 Name: int cc_WaitCall(linedev, crnptr, waitcall_blkp, timeout,mode) Inputs: LINEDEV linedev • device handle CRN *crnptr • pointer to callreference number WAITCALL_BLK *waitcall_blkp • for future use int timeout • amount of time to...
Page 303 - crnptr
sets up conditions for processing an incoming call cc_WaitCall( ) 291 • To receive incoming waiting calls, applications using the NTT protocolmust use the cc_SetInfoElem( ) function to override the default Channel ID IE content. This ensures that the application complies with the NTTprotocol specifi...
Page 305 - Data Structure Reference; DLINK
293 6. Data Structure Reference The data structures used by selected ISDN functions are described in this chapter.These structures are used to control the operation of functions and to returninformation. The data structures defined include: • CC_RATE_U • channel_id • DCHAN_CFG • DLINK • DLINK_CFG • ...
Page 306 - Field; ATT
ISDN Software Reference for Linux and Windows 294 6.1. CC_RATE_U The CC_RATE_U data structure contains billing rate information for Vari-A-Billservices, which is set by the cc_SetBilling( ) function. The current structure, defined for AT&T only, is shown below: typedef union { struct ATT {long c...
Page 307 - Table 31. channel_id Descriptions and Values
6. Data Structure Reference 295 Table 31. channel_id Descriptions and Values Field Description Values channel Specifies the channel tobe used. NO_BCHAN – No B channel ANY_BCHAN – AnyB channel DCHAN_IND – Non circuitswitched channel mode Specifies the channelmode to be used for theB channel, if a B c...
Page 309 - Table 32. DCHAN_CFG Field Descriptions and Values
6. Data Structure Reference 297 Table 32. DCHAN_CFG Field Descriptions and Values Type Description Values layer2_access Boolean value usedto configure theDSL for direct layer2 access or for fullstack access. #define LAYER_2_ONLY 0 #define FULL_ISDN_STACK 1 Where: • LAYER_2_ONLY = ISDN access atlayer...
Page 310 - Type
ISDN Software Reference for Linux and Windows 298 Type Description Values switch_side Boolean valuedefining whether theDSL should beconfigured as theNetwork side (NT)or the User side(TE). #define USER_SIDE 0 #define NETWORK_SIDE 1 Where: • USER_SIDE = User side of ISDNprotocol • NETWORK_SIDE = Netwo...
Page 312 - assigning Term
ISDN Software Reference for Linux and Windows 300 Type Description Values rfu_1 & rfu_2 Reserved for futureuse. Currently not used. tei_assignment Applies to UserSide only. Itspecifies if theterminal has a fixedTEI or an auto-assigning TEI. If itis fixed, then"fixed_tei_value"must be spe...
Page 313 - SPID
6. Data Structure Reference 301 Type Description Values SPID Defines the assignedService ProviderIdentifier (SPID)value for terminalinitialization. It isonly applicable toUser side USswitches. NOTE: When the SPID is set, it isassigned to bothbearer channelsassociated with theD channel. Tosubsequentl...
Page 314 - = Default value for switch; and
ISDN Software Reference for Linux and Windows 302 Type Description Values T3xx (T302, T303,T304, T305, T306,T308, T309, T310,T312, T313, T318,T319, T322) Defines the Layer 3timer values. SeeQ.931 specificationand correspondingswitch specifica-tions for exactdefinitions anddefault values forthese tim...
Page 315 - Table 33. DLINK Field Descriptions
6. Data Structure Reference 303 Table 33. DLINK Field Descriptions Field Description sapi The service access pointer identifier. (This field is zero for PRI.) ces The connection endpoint suffix. (This field is zero for PRI.) 6.5. DLINK_CFG The DLINK_CFG structure contains information about the data ...
Page 320 - This element must be set to; to be
ISDN Software Reference for Linux and Windows 308 Parameter Description Supported values usrinfo_layer1_protocol Layer 1protocol touse on bearerchannel ISDN_UIL1_CCITTV.110 - CCITTstandardized rate adaptation V.110) ISDN_UIL1_G711uLAW -recommendation G.711 u-Law ISDN_UIL1_G711ALAW -recommendation G....
Page 326 - function to add; to be used in the; NOTE; A sample MAKECALL_BLK initialization is shown below:
ISDN Software Reference for Linux and Windows 314 Parameter Description Supported values NFACILITY_ELEM *nsfc_bufp Networkspecificfacilityelement Not used, set to NULL. See the cc_SetInfoElem( ) function to add custom IEs to the MAKECALLBlock. NOTE: This element must be set to NULL if it is not to b...
Page 329 - The DLINK data structure see
6. Data Structure Reference 317 Table 40. SPID_BLK Field Descriptions Field Description data_link The DLINK data structure; see Section 6.4. DLINK . initializing_term The type of initializing terminal. SPID The Service Profile Interface ID 6.12. TERM_BLK The TERM_BLK data structure contains informat...
Page 330 - Firmware; usid
ISDN Software Reference for Linux and Windows 318 Table 41. TERM_BLK Fiel d Descriptions Field Description data_link The DLINK data structure; see Section 6.4. DLINK . ack_type The type of acknowledgement to be passed to the firmware.The settings are: • ISDN_OK - to send a Positive acknowledgment • ...
Page 331 - The data structure is defined as follows:
6. Data Structure Reference 319 6.13. TERM_NACK_BLK The TERM_NACK_BLK data structure is used to cast terminal initializationevent data after a CCEV_RCVTERMREG_NACK event is received.TERM_NACK_BLK contains the cause value for the event, indicating why theterminal initialization request was rejected b...
Page 332 - Table 43. Cause Values Associated with; Network out of order
ISDN Software Reference for Linux and Windows 320 Table 43. Cause Values Associated with CCEV_RCVTERMREG_NACK CauseValue Q.850 Description Meaning 0x26 Network out of order Used when the network has removedthe TEI, causing the data link to godown. 0x63 Information element/parameternon-existent or no...
Page 333 - Table 44. ToneParm Field Descriptions
6. Data Structure Reference 321 Table 44. ToneParm Field Descriptions Field Description duration specifies the duration of the tone in 10 ms units. The range is 1 -65535. Set to -1 to play forever. freq1 specifies the frequency of the tone. The range is 200 - 3100 Hz. amp1 specifies the amplitude of...
Page 335 - Table 46. USRINFO_ELEM Field Descriptions
6. Data Structure Reference 323 Table 46. USRINFO_ELEM Field Descriptions Field Description length The length of the user information element protocol discriminator The protocol discriminator usrinformation The user-to-user information (UUI) data 6.17. WAITCALL_BLK This structure is reserved for fut...
Page 337 - ISDN Events and Errors; Function Reference
325 7. ISDN Events and Errors This chapter describes the events and error/cause codes that are returned by theDialogic ISDN library functions. The function descriptions in Chapter 5. ISDN Function Reference list the possible error codes and, for asynchronous functions, the termination events returne...
Page 341 - Failure of
7. ISDN Events and Errors 329 Termination Event Returned After: Indicates: Refer-ence: for the call has beenacknowledged by thenetwork. This eventis used only with theAT&T Vari-A-Billfeature. CCEV_ SETCHANSTATE cc_SetChanState( ) The B channel isplaced in therequested state. LineDeviceHandle CCE...
Page 343 - External Event
7. ISDN Events and Errors 331 External Event Indicates: SndMsg_Drop message type via the cc_SndMsg( ) function. The CCEV_CONFDROP event has twodifferent meanings that depend upon the typeof call: Two-party call - the event is a request todisconnect the call. The application shouldrespond by issuing ...
Page 347 - application should use
7. ISDN Events and Errors 335 External Event Indicates: application should use cc_GetCallInfo( ) to retrieve the NSI string(s). CCEV_ISDNMSG An undefined ISDN message has beenreceived by the application. CCEV_PROCEEDING An ISDN message has been received by theapplication. By default, the firmware wi...
Page 348 - or a network request.
ISDN Software Reference for Linux and Windows 336 External Event Indicates: CCEV_REDIRECT The firmware has reset its call state toOverlap Sending. The request to redirect wasmade by the switch to solicit more out-of-band digits. The CCEV_REDIRECT event pertains onlyto a Custom BRI 5ESS switch typeco...
Page 351 - There are three cause/error locations, as described in; Return Conditions; Codes from the ISDN Firmware
7. ISDN Events and Errors 339 There are three cause/error locations, as described in Table 49 below. Table 49. Cause/Error Locations Cause/Error Location Return Conditions Firmware(ERR_ISDN_FW) Returned when there is a firmware-relatedcause/error. Firmware errors are listed in the isdncmd.h file. (S...
Page 352 - Table 50. ISDN Firmware Error Codes; Normal returned code.
ISDN Software Reference for Linux and Windows 340 Table 50. ISDN Firmware Error Codes Error Name Value Description ISDN_OK 0x00(0) Normal returned code. ISDN_BADDSL 0x101(257) Wrong DSL (Digital SubscriberLine) number. Will not occur innon-NFAS environment. ISDN_BADTS 0x102(258) Bad time slot. Will ...
Page 353 - Error Name; Time slot already in use.
7. ISDN Events and Errors 341 Error Name Value Description ISDN_BADCALLID 0x10E(270) Bad call ID. No call recordexists for specified call ID. ISDN_BADSTATE 0x10F(271) Cannot accept the event in thecurrent state. ISDN_BADSS 0x110(272) Unspecified service state wasrequested. ISDN_TSBUSY 0x111(273) Tim...
Page 354 - function. The error values include the hex followed by the
ISDN Software Reference for Linux and Windows 342 Error Name Value Description ISDN_MISSING_SPID 0x128(296) Service Profile Interface ID(SPID) not provided for NorthAmerican terminal. Cause/Error Codes from the ISDN Firmware for cc_SetBilling( ) The following table provides error codes from the firm...
Page 355 - Table 52. ISDN Network Error Codes
7. ISDN Events and Errors 343 standards. Not all cause codes are universally supported across switch types.Before using a particular cause code, compare its validity with the appropriateswitch vendor specifications. Table 52. ISDN Network Error Codes Error Name Hex Value(Decimal) Q.931 Code and Desc...
Page 359 - Table 53. ISDN Library Error Codes
7. ISDN Events and Errors 347 7.2.3. Cause/Error Codes from the ISDN Library The following table provides the error/cause codes located in the ISDN library.Error values include the hex followed by the decimal in parentheses. Table 53. ISDN Library Error Codes Error Name Value Description E_ISSUCC 0x...
Page 361 - Application Guidelines
349 8. Application Guidelines This chapter offers advice and suggestions for programmers designing and codingDialogic ISDN applications in a Windows or a LINUX environment. Specificguidelines for developing ISDN applications are provided. Topics include the following: • general guidelines • handling...
Page 362 - Digital Network Interface Software
ISDN Software Reference for Linux and Windows 350 8.1.2. Header Files Various header files must be included in an ISDN application. These files providethe equates, structures, and prototypes needed to compile application programs.The following header files are typically used for ISDN call control ap...
Page 363 - Reference; Asynchronous Mode; When an event occurs, the application may use
8. Application Guidelines 351 Reference and the Voice Software Reference - Standard Runtime Library for the appropriate operating system for more information. 8.2.1. Handling Errors Each Dialogic ISDN API library function returns a value < 0 on failure. Be sure tocheck any call to a Dialogic ISDN...
Page 364 - MAKECALL Block initialization and settings
ISDN Software Reference for Linux and Windows 352 The application may also use the Dialogic function calls to retrieve additionalevent or error information. For example: • ATDV_NAMEP( ) • ATDV_LASTERR( ) • ATDV_ERRMSGP( ) • sr_getevtdatap( ) • sr_getevtlen( ) 8.2.3. Handling Alarms All ISDN trunk al...
Page 366 - Table 54. Variable Length IEs
ISDN Software Reference for Linux and Windows 354 makecall_blk.isdn.origination_sub_number_type = 0xFF;makecall_blk.isdn.origination_sub_phone_number[0] = NULL;makecall_blk.isdn.origination_phone_number[0] = NULL;makecall_blk.isdn.facility_feature_service = 0xFF;makecall_blk.isdn.facility_coding_val...
Page 369 - Type of IE
8. Application Guidelines 357 Type of IE Value Codeset DEF 0x77 7 Assumption 4: User-supplied IEs (with the exception of CHANNEL_ID_IE, see below) take precedence over the Firmware-defined IEs, even those that are inprivate IE parts. Assumption 5: The CHANNEL_ID_IE will always be taken from the Firm...
Page 370 - Initialization
ISDN Software Reference for Linux and Windows 358 NOTE: North American protocols often require TE devices configured as theUser side to transmit a Service Profile Identifier (SPID), which is thenacknowledged by the switch. The SPID is programmed using the cc_SetDChanCfg( ) function. See Section 8.4....
Page 373 - channel
8. Application Guidelines 361 isdiag <board> <channel> <boardtype> <type> <trace mode> <voice> Where: <board> is the board number 1 through 4 (dti1 - dti4) <channel> is the channel time slot number (1-23 for T-1, 1-30 for E-1, 1-2 for BRI) <boardtyp...
Page 375 - Table 59. ISDTRACE Example File
8. Application Guidelines 363 Table 59. ISDTRACE Example File Receive Transmit NET5 RECEIVEResponse=0 SAPI=0x00 TEI=0x000x01 0x09 Receive Ready TRANSMITCommand=0 SAPI=0x00 TEI=0x000x01 0x0b Receive Ready TRANSMITResponse=1 SAPI=0x00 TEI=0x000x08 0x0a Information Dest=0 CR=0x0002 SETUP(0x05) 1: SENDI...
Page 376 - Receive
ISDN Software Reference for Linux and Windows 364 Receive Transmit 0x44 User Information0x69 User Information0x61 User Information RECEIVECommand=1 SAPI=0x00 TEI=0x000x01 0x0a Receive Ready RECEIVEResponse=0 SAPI=0x00 TEI=0x000x0a 0x0a Information Orig=1 CR=0x8002 CALL PROCEEDING(0x02) 1: CHANNEL ID...
Page 380 - BRI Channel Initialization and Start Up (User Side); Synchronous or Asynchronous Programming; Application
ISDN Software Reference for Linux and Windows 368 BRI Channel Initialization and Start Up (User Side) Synchronous or Asynchronous Programming Application Device Driver State Firmware Network cc_Open( )--> NULL Return with linedevice<-- cc_SetDChanCfg()--> Initialize--> Configuresprotocol...
Page 381 - BRI Channel Initialization and Start Up (Network Side)
Appendix A - Call Control Scenarios 369 BRI Channel Initialization and Start Up (Network Side) Synchronous or Asynchronous Programming Application Device Driver State Firmware User to-Network cc_Open( )--> NULL Return with linedevice <-- cc_SetDChanCfg( )--> Initialize--> Configuresproto...
Page 382 - PRI Channel Initialization and Start Up
ISDN Software Reference for Linux and Windows 370 PRI Channel Initialization and Start Up Synchronous or Asynchronous Programming Application Device Driver State Firmware Network OOS at powerupF/W place Bchannel to"IN" servicestate *Maintenance--> MT_ACK<-- F/W resets allB channel into...
Page 383 - Normal Call Establishment and Termination; Synchronous Programming:; The incoming call terminates the
Appendix A - Call Control Scenarios 371 Normal Call Establishment and Termination This section provides scenarios of normal basic call control procedures for callestablishment and termination. Both Facility Associated Signaling (FAS) andNon-Facility Associated Signaling (NFAS) cases are illustrated....
Page 384 - Asynchronous Programming:; Incoming call notification is received as an event.
ISDN Software Reference for Linux and Windows 372 Application Device Driver State Firmware Network cc_AcceptCall( )(option)--> Call_Alert--> CALL_ALERT--> Alerting--> termination ofcc_AcceptCall() <-- ACCEPTED CALL_ALERT_ACK <-- cc_AnswerCall( )--> Call_Connect--> *B-channel ...
Page 386 - Network terminated call; This is the default setting for parameter 24 in; Synchronous Programming
ISDN Software Reference for Linux and Windows 374 Network terminated call Firmware-controlled disconnect: This is the default setting for parameter 24 in the *.prm file Synchronous Programming Application Device Driver State Firmware Network CONNECTED *B channeldisconnectedCALL_RELEASE--> Disconn...
Page 388 - Host-controlled disconnect; : Parameter 24 in the
ISDN Software Reference for Linux and Windows 376 Host-controlled disconnect : Parameter 24 in the *.prm file = 01 Synchronous Programming Application Device Driver State Firmware Network CONNECTED CCEV_DISCONNECTED<-- DISCONNECTED CALL_DISC<-- Disconnect<-- cc_DropCall( )--> Call_Discon...
Page 390 - Application initiated call (outbound call); Asynchronous Programming
ISDN Software Reference for Linux and Windows 378 Application initiated call (outbound call) Synchronous Programming Application Device Driver State Firmware Network NULL cc_MakeCall( )--> CRN assignedCall_Outgoing--> CALL_OUTGOING--> Set Up--> CCEV_PROCEEDING(if requested notmasked) <...
Page 393 - Application Terminated Call; : This is the default setting for parameter 24 in
Appendix A - Call Control Scenarios 381 Application Terminated Call Firmware-controlled disconnect : This is the default setting for parameter 24 in the *.prm file Synchronous Programming Application Device Driver State Firmware Network CONNECTED cc_DropCall( )--> Call_Disconnected(cause value =0...
Page 395 - : This is the default setting for parameter 24 in the
Appendix A - Call Control Scenarios 383 Host-controlled disconnect : This is the default setting for parameter 24 in the *.prm file Synchronous Programming Application Device Driver State Firmware Network CONNECTED cc_DropCall( )--> Call_Disconnected(cause value =0)--> IDLE B channeldisconnect...
Page 397 - Call Rejection; Outgoing call rejected by the network
Appendix A - Call Control Scenarios 385 Call Rejection Outgoing call rejected by the network Synchronous Programming Application Device Driver State Firmware Network cc_MakeCall( )--> CRN assignedCall_Outgoing--> DIALING CALL_OUTGOING--> Set up--> CCEV_DISCONNECTED <-- *DISCONNECTED C...
Page 398 - Incoming call rejected by the application
ISDN Software Reference for Linux and Windows 386 Incoming call rejected by the application Synchronous Programming Application Device Driver State Firmware Network cc_WaitCall( )--> ISDN_Unblock_Ts--> NULL Incoming callunblocked Set_Up <-- *B channel cut-thruCALL_PROCEEDING--> Proceedin...
Page 404 - Glare at firmware; disconnects first while
ISDN Software Reference for Linux and Windows 392 Simultaneous disconnect (any state) A simultaneous disconnect condition occurs when both the application and thenetwork attempt to disconnect the call. The following scenarios are written for theasynchronous programming model. For synchronous program...
Page 406 - Glare happens on the wire; - the firmware sees the
ISDN Software Reference for Linux and Windows 394 The next scenario covers the following simultaneous disconnect conditions: • cc_DropCall( ) arrives after Release command is sent - the network disconnects first while cc_DropCall( ) arrives at the firmware after a Release command is sent to the netw...
Page 407 - Hold and retrieve - local initiated; Step; When call is held, application will receive hold acknowledge
Appendix A - Call Control Scenarios 395 Hold and retrieve - local initiated Step Dialogic API Action/Result Dialogic Event 1 --- CALL CONNECTED --- cc_HoldCall( ) --> --- CALL HELD --- 2 <-- CCEV_HOLDACK 3 Unroute SCbus time slot for heldcall : --> 4 cc_RetrieveCall( ) 5 <-- CCEV_RETRIEV...
Page 408 - Hold and retrieve - remote initiated
ISDN Software Reference for Linux and Windows 396 Hold and retrieve - remote initiated Step Dialogic API Action/Result Dialogic Event 1 --- CALL CONNECTED --- <-- CCEV_HOLDCALL --- CALL HELD --- 2 Unroute SCbus time slot forheld call 3 cc_HoldAck( ) --> : 4 <-- CCEV_RETRIEVECALL 5 Reroute S...
Page 409 - Network Facility Request or Service
Appendix A - Call Control Scenarios 397 Network Facility Request or Service Vari-A-Bill (AT&T Service Only) Vari-A-Bill is a service option provided only by AT&T at the press time of thisdocument. Asynchronous Programming Application Device Driver State Firmware Network CALL_ALERT--> Aler...
Page 410 - The following scenario uses; Asynchronous or Synchronous Programming
ISDN Software Reference for Linux and Windows 398 ANI-on-demand - incoming call (AT&T Service Only) The following scenario uses cc_ReqANI( ) to acquire the caller's ID. It differs from the cc_GetANI( ) function in the way the function is returned. Asynchronous or Synchronous Programming Applicat...
Page 411 - Asynchronous Programming: Call disconnected by network
Appendix A - Call Control Scenarios 399 Advice of charge - inbound and outbound call (AT&T Service Only) Asynchronous Programming: Call disconnected by network Application Device Driver State Firmware Network CONNECTED CCEV_DISCONNECTED <-- DISCONNECTED Chargeinformation ispart of the DISCmes...
Page 412 - TBCT works only when all of the following conditions are met:
ISDN Software Reference for Linux and Windows 400 Billing info(returnimmediately.) <-- cc_ReleaseCall()--> Call_Dealloc--> Return <-- NULL CALL_DEALLOC_ACK <-- Two B Channel Transfer (TBCT) TBCT enables an ISDN PRI user to request the switch to connect together twoindependent calls on...
Page 413 - Figure 7; Figure 7. TBCT Invocation with Notification (Both Calls Answered)
Appendix A - Call Control Scenarios 401 When a transferred call is disconnected, the network informs the TBCT controllerby sending a NOTIFY message with the Network Call Reference Value. Theapplication receives the GCEV_EXTENSION event (with ext_id =GCIS_EXEV_NOTIFY) event. The following figures pro...
Page 414 - Figure 8; Figure 8. TBCT Invocation with Notification
ISDN Software Reference for Linux and Windows 402 Figure 8 shows the invocation of TBCT with notification where one call is answered and the other call is alerting. Controller Network User A User B FACILITY (Invoke) User A and B connected FACILITY (Return reult: Invoke: Transfers: active transfers. ...
Page 415 - Synchronous Programming: Initiating TBCT; Users A & B connected
Appendix A - Call Control Scenarios 403 The following call scenario describes the procedures for initiating a TBCT. Thescenario is followed by code samples that demonstrate the use of Dialogic API ininitiating a TBCT. Synchronous Programming: Initiating TBCT Application Device Driver State Firmware ...
Page 416 - Users A & B disconnected
ISDN Software Reference for Linux and Windows 404 Application Device Driver State Firmware Network CCEV_DROPCALL(Call #1) <-- CALL_CLEARED(Call #1) <-- cc_ReleaseCall( )(Call #1)--> CALL_DEALLOC(Call #1)--> Driver releasesCRN return NULL(Call #1) CALL_DEALLOC_ACK(Call #1) <-- DISCONNE...
Page 417 - Retrieving the Network’s Call Reference Value:
Appendix A - Call Control Scenarios 405 The following code samples demonstrate the use of the Dialogic API at variousstages of the TBCT call scenario. 1. Opening a board level device: LINEDEV dti_dev1_hdl; .. rc = cc_Open( &dti_bd_hdl, "dtiB1", 0); .. 2. Retrieving the Network’s Call Ref...
Page 418 - Processing the Network response to TBCT request:
ISDN Software Reference for Linux and Windows 406 tbct_ie.bits.comp_data[3] = 0x06; // Operation Object, tag tbct_ie.bits.comp_data[4] = 0x07; // Operation Object, length tbct_ie.bits.comp_data[5] = 0x2A; // Operation Object, Operation Value tbct_ie.bits.comp_data[6] = 0x86; // Operation Object, Ope...
Page 421 - This feature is supported for the 5ESS protocol only
Appendix A - Call Control Scenarios 409 Non-Call Associated Signaling (NCAS) NCAS allows users to communicate by means of user-to-user signaling withoutsetting up a circuit-switched connection (it does not occupy B channelbandwidth). A temporary signaling connection is established and cleared in ama...
Page 423 - NCAS call connected
Appendix A - Call Control Scenarios 411 Application Device Driver State Firmware Network Return <-- cc_MakeCall( )D-channel linedevices(dtiB1T24)--> CALL_OUTGOING--> Setup--> CCEV_CONNECTED <-- CONNECTED Connect <-- NCAS call connected cc_SetInfoElem( )setup user-to-user informatio...
Page 424 - Opening a D channel line level device:
ISDN Software Reference for Linux and Windows 412 The following code samples demonstrate the use of the Dialogic API at variousstages of the NCAS call scenario. 1. Opening a D channel line level device: LINEDEV D_chan_dev1_hdl; .. rc = cc_Open( &D_chan_dev1_hdl, "dtiB24", 0); . 2. Settin...
Page 425 - Network-initiated call
Appendix A - Call Control Scenarios 413 Network-initiated call In the following scenario, the network initiates and disconnects the NCAS call fordtiB1. Synchronous Programming Application Device Driver State Firmware Network cc_Open( )D channel linedevices(dtiB1T24)--> NULL Return with linedevice...
Page 427 - Appendix B - DPNSS Call Scenarios
415 Appendix B - DPNSS Call Scenarios This appendix describes call scenarios that are specific to the DPNSS protocol.Each scenario provides a table that illustrates the Dialogic ApplicationProgramming Interfaces (APIs) issued by the application to either initiate atransaction or to respond to an ext...
Page 428 - Executive Intrusion - Normal; ) to a busy extension with intrusion; Executive intrusion - with prior validation
ISDN Software Reference for Linux and Windows 416 Executive Intrusion - Normal Step Dialogic API Action/Result Dialogic Event 1 cc_MakeCall( ) (with Intrusion IE) --> 2 <-- CCEV_PROCEEDING --- INTRUSIONSUCCEEDED --- 3 <-- CCEV_CONNECTED --- INTRUSION FAILED --- 4 <-- CCEV_DISCONNECT 1. P...
Page 429 - Call Scenarios; Local diversion - outbound; Local diversion - inbound
Appendix B - DPNSS Call Scenarios 417 1. Places an outgoing call ( cc_MakeCall( ) ) to a busy extension with intrusion information set to "Prior Validation." See Appendix C for the format of Intrusion IE. 2. Receives call proceeding (CCEV_PROCEEDING) event with indication that remote party w...
Page 430 - to divert the incoming call. See the; Remote diversion - outbound
ISDN Software Reference for Linux and Windows 418 2 cc_SndMsg( ) (SndMsg_Divert, diversionlocation: DIVERT_LOCAL) --> 3 cc_AnswerCall( ) --> 4 <-- CCEV_ANSWERED 1. Receives incoming call (CCEV_OFFERED) event. 2. Diverts incoming call ( cc_SndMsg( ) ) to different extension. Use cc_SndMsg( )...
Page 431 - Remote diversion - inbound
Appendix B - DPNSS Call Scenarios 419 1. Party 1 calls Party 2 by issuing cc_MakeCall( ) . 2. Party 1 receives CCEV_PROCEEDING event from Party 2 with indication that call needs to be diverted to Party 3. Diversion IE will contain thetelephone number of Party 3. See Appendix C for Diversion IE's for...
Page 432 - Diversion number. See; Transfer
ISDN Software Reference for Linux and Windows 420 2. Party 2 diverts incoming call to Party 3. Send Party 3’s telephone number as Diversion number. See Appendix C for the format of SndMsg_Divert message. 3. Party 1 disconnects call to Party 2. 4. Party 2 drops call ( cc_DropCall( ) ). 5. Party 2 rec...
Page 434 - should retrieve the content of the Transmit Message using; Virtual call -outbound
ISDN Software Reference for Linux and Windows 422 13. Party 2 receives transit (CCEV_TRANSIT) event from Party 1. Party 2 should retrieve the content of the Transmit Message using cc_GetSigInfo( ) . 14. Party 2 sends content of Transmit Message (unchanged) from Party 1 to Party 3 ( cc_SndMsg( ) ). S...
Page 435 - Virtual call - inbound
Appendix B - DPNSS Call Scenarios 423 4 <-- CCEV_DROPCALL 5 cc_ReleaseCall( ) --> 1. Places an outgoing call ( cc_MakeCall( ) ) with Virtual Call IE and any other information set, such as NSI strings or Extension Status. See Appendix C for the format of Virtual Call IE. 2. Receives call discon...
Page 437 - Busy IE ID
425 Appendix C - IEs and ISDN MessageTypes for DPNSS This appendix lists the information elements (IEs) and ISDN message types in theISDN software library that support the DPNSS protocol. Information Elements for cc_GetCallInfo( ) andcc_GetSigInfo( ) The following tables describe the different types...
Page 438 - Diversion Validation IE:
ISDN Software Reference for Linux and Windows 426 Field Description Field Selection Definition 3. Data DiversionType DIVERT_IMMEDIATE Diverted immediately DIVERT_ON_BUSY Diverted when called partywas busy DIVERT_NO_REPLY Diverted when called partydid not answer 4. Data DiversionLocation DIVERT_LOCAL...
Page 440 - NSI IE fields 4 and 5 can be repeated multiple times, as needed.
ISDN Software Reference for Linux and Windows 428 Network Specific Indications (NSI) IE: Field Description Field Selection Definition 1. IE ID NSI IE ID NSI_IE This IE can be part of anyevent including theCCEV_NSI event. 2. Data NSI IELength 2 + Length of NetworkSpecific Indications (NSI)string Numb...
Page 441 - and ISDN Message Types for DPNSS
Appendix C - IEs and ISDN Message Types for DPNSS 429 Virtual Call IE: Field Description Field Selection Definition 1. IE ID Virtual CallIE ID VIRTUALCALL_IE This IE, when part of aCCEV_OFFEREDevent, indicates a virtualcall.
Page 442 - Required value
ISDN Software Reference for Linux and Windows 430 Information Elements for cc_SetInfoElem( ) The following tables describe the information elements that can be set for DPNSSusing the cc_SetInfoElem( ) function. Intrusion IE: Field Description Field Selection Definition 1. Length Total bytes ofthe fo...
Page 446 - NSI IE fields 5 and 6 can be repeated multiple times, as needed.
ISDN Software Reference for Linux and Windows 434 Field Description Field Selection Definition 5. Data TextDISPLAYString ASCII string Text Display string.The '*' and '#' symbolscannot be useddirectly; 0x01 and0x02 values aresubstitutedrespectively Network Specific Indications (NSI) IE: Field Descrip...
Page 448 - NSI IE fields 5 and 6 can be repeated multiple times as needed.
ISDN Software Reference for Linux and Windows 436 Field Description Field Selection Definition 4. Data Intrude Type INTRUDE INTRUDE_WITHDRAW Intrude Withdraw intrusion SndMsg_NSI: Field Description Field Selection Definition 1. Length Total bytes of thefollowing datafield 4 + length of NSI String Re...
Page 451 - Information Element
439 Appendix D – BRI SupplementalServices The ISDN API functions allow BRI boards to perform the followingSupplemental Services: • Called/Calling Party Identification • Subaddressing • Hold/Retrieve • Call Transfer • Message Waiting Call Hold and Retrieve are invoked using the following API function...
Page 453 - Appendix D – BRI Supplemental Services; As an example, to invoke Supplemental Service ‘X’, the; Figure 12. Information Element Format; Information elements can also be sent using the
Appendix D – BRI Supplemental Services 441 As an example, to invoke Supplemental Service ‘X’, the cc_SndMsg( ) function with msg_type = SndMsg_Facility could be used. The Information Elementwould be defined in a data structure as follows: ieblk.length = 11;ieblk.data[0] = 0x1c; /* IE Identifier */ i...
Page 455 - Table 60. ETSI Specification Cross-Reference for Supplemental
Appendix D – BRI Supplemental Services 443 Table 60. ETSI Specification Cross-Reference for Supplemental Services Supplementary Service/Description ETS 300Specification Explicit Call Transfer - enables a user (user A) to transformtwo of that user's calls (an active call and a held call), eachof whic...
Page 456 - Supplementary Service/Description; Message Waiting Indication
ISDN Software Reference for Linux and Windows 444 Supplementary Service/Description ETS 300Specification Message Waiting Indication 650/745-1/356-20
Page 457 - Ordering Service; Find out as much as you can about details of the turn-up process.; Establishing Connections to an NTU
445 Appendix E - Establishing ISDN CableConnections This appendix explains the basic principles of ordering ISDN service andestablishing a connection between the Dialogic Digital Network Interface boardsand the Network Termination Unit (NTU). Ordering Service When ordering your ISDN service from a c...
Page 458 - Characteristic
ISDN Software Reference for Linux and Windows 446 either purchase one from your supplier or build one yourself. If you are buildingyour own cable, it must fit the following specifications: Characteristic Recommendations/Requirements Cable Type: The recommended cable type is twisted-pair cable in whi...
Page 459 - Appendix F - Related Publications; Dialogic References; In addition, refer to the appropriate
447 Appendix F - Related Publications This appendix lists publications that provide additional information onDialogic products and ISDN technology. Dialogic References • Voice Software Reference – Features Guide for LINUX • Voice Software Reference – Features Guide for Windows • Voice Software Refer...
Page 461 - Glossary
449 Glossary ASCII American Standard Code for Information Interchange ANI Automatic Number Identification. A service that identifies the phone number of the calling party. ANI-on-Demand A feature of AT&T ISDN service whereby the user can automatically request caller ID from the network even when...
Page 462 - SpanCards
ISDN Software Reference for Linux and Windows 450 be notified of an incoming call (as per the basic call establishmentprocess) with an indication that no information channel is available. CEPT Conference des Administrations Europeenes des Postes et Telecommunications. A collection of groups that set...
Page 465 - TEI
Glossary 453 TEI Terminal Endpoint Identifier (see Recommendations Q.920 and Q.921) synchronous function Synchronous functions block an application or process until the required task is successfully completed or afailed/error message is returned. T-1 A digital line transmitting at 1.544 Mbps over 2 ...
Page 466 - USID; User Service Identifier; UUI; during call establishment.; voice channel; Designates a bi-directional transfer of data for a single call
ISDN Software Reference for Linux and Windows 454 USID User Service Identifier UUI User-to-User Information. Proprietary messages sent to remote system during call establishment. Vari-A-Bill Service bureaus can vary the billing rate of a 900 call at any time during the call. Callers select services ...
Page 467 - Index; asynchronous call termination
455 Index 5 5ESS Custom Messaging, 7 A Alarm Handling, 350, 352 ALERTING message, 50 ANI, 8, 80 ANI-on-demand, 190 feature in PRI, 9 Application guidelines, 349 applications, 9 aborting and terminating, 350 asynchronous call termination , 24 asynchronous mode, 17 AT&T ISDN network, 191, 214 ATDV...