Logo Search packages:      
Sourcecode: capisuite version File versions  Download package

void Capi::connect_req ( Connection conn,
_cdword  Controller,
_cword  CIPvalue,
_cstruct  calledPartyNumber,
_cstruct  callingPartyNumber,
_cword  B1protocol,
_cword  B2protocol,
_cword  B3protocol,
_cstruct  B1configuration,
_cstruct  B2configuration,
_cstruct  B3configuration 
) throw (CapiMsgError) [private]

Send CONNECT_REQ to CAPI.

To be able to see which CONNECT_CONF corresponds to this CONNECT_REQ, the Connection object will be saved in the connections map under a pseudo PLCI (0xFACE & messageNumber). This will be corrected at the moment the CONNECT_CONF is received.

Parameters:
conn reference to the Connection object which calls connect_req()
Controller Nr. of controller to use for connection establishment
CIPvalue CIP (service indicator) to use for the connection
calledPartyNumber The number of the party which is called (i.e. the destination of the call)
callingPartyNumber The number of the party which calls (i.e. the source of the call)
B1protocol see CAPI spec for details
B2protocol see CAPI spec for details
B3protocol see CAPI spec for details
B1configuration see CAPI spec for details
B2configuration see CAPI spec for details
B3configuration see CAPI spec for details
Exceptions:
CapiMsgError Thrown when CAPI_PUT_MESSAGE returned an error.

Definition at line 137 of file capi.cpp.

References applId, connections, debug, debug_level, describeParamInfo(), messageNumber, and prefix().

Referenced by Connection::Connection().

{
      _cmsg CMSG;  // Nachrichten-Struktur

      messageNumber++;

      connections[0xFACE0000 | messageNumber]=conn; // pseudo PLCI to see which CONNECT_CONF corresponds to which CONNECT_REQ
                                          // this can't be a valid NCCI as a valid ncci & 0xFF000000 = 0

      if (debug_level >= 2) {
            debug << prefix() << ">CONNECT_REQ: ApplId 0x" << hex << applId << ", MsgNr 0x" << messageNumber << ", Controller 0x" << controller
            << " CIPValue 0x" << CIPValue << ", B1proto 0x" << B1protocol << ", B2proto 0x" << B2protocol <<", B3proto 0x" << B3protocol << endl;
      }
      unsigned info=CONNECT_REQ(&CMSG, applId, messageNumber, controller, CIPValue, calledPartyNumber, callingPartyNumber, NULL, NULL,
            B1protocol, B2protocol, B3protocol, B1configuration, B2configuration, B3configuration, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
      if (debug_level >= 2) {
            debug << prefix() << "info: " << info << endl;
      }

      if (info != 0)
            throw(CapiMsgError(info,"Error while CONNECT_REQ: "+Capi::describeParamInfo(info),"Capi::connect_req()"));
}


Generated by  Doxygen 1.6.0   Back to index