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

void Connection::select_b_protocol_conf ( _cmsg &  message  )  throw (CapiError,CapiWrongState,CapiMsgError) [protected]

called when we get SELECT_B_PROTOCOL_CONF from CAPI

Parameters:
message the received SELECT_B_PROTOCOL_CONF message
Exceptions:
CapiWrongState Thrown when the message is received unexpected (i.e. in a wrong plci_state)
CapiError Thrown when an invalid message is received
CapiMsgError Thrown if the info InfoElement indicates an error

Definition at line 676 of file connection.cpp.

References capi, Capi::connect_b3_req(), N0, N01, ncci_state, our_call, PACT, plci, and plci_state.

{
      if (plci_state!=PACT || ncci_state!=N0)
            throw CapiWrongState("SELECT_B_PROTOCOL_CONF received in wrong state","Connection::select_b_protocol_conf()");

      if (plci!=SELECT_B_PROTOCOL_CONF_PLCI(&message))
            throw CapiError("SELECT_B_PROTOCOL_CONF received with wrong PLCI","Connection::select_b_protocol_conf()");

      if (SELECT_B_PROTOCOL_CONF_INFO(&message))
            throw CapiMsgError(SELECT_B_PROTOCOL_CONF_INFO(&message),"SELECT_B_PROTOCOL_CONF received with Error (Info)","Connection::select_b_protocol_conf()");

      if (our_call) {
            try {
                  ncci_state=N01;
                  capi->connect_b3_req(plci);
            }
            catch (CapiMsgError) {
                  ncci_state=N0;
                  throw;  // this is critical, so propagate
            }
      }
}


Generated by  Doxygen 1.6.0   Back to index