예제 #1
0
파일: SIPEngine.cpp 프로젝트: pdumais/dhas
void SIPEngine::onProvisional(resip::ClientInviteSessionHandle cis, const resip::SipMessage& msg)
{
    Call *call = (Call*)cis->getAppDialogSet().get();

    switch (msg.header(h_StatusLine).statusCode())
    {
    case 100:
        break;
    case 180:
        {
            if (call->mCallState==Initial)
            {
                LOG("Call is ringing");
                call->mCallState = Ringing;            
                AppDialogSetRONACommand cmd(call->getHandle());
                mDum->getSipStack().post(cmd,mRONATimeout,mDum);
            }
        }   
        break;
    }
}
예제 #2
0
void InviteSessionHandler::onConnected(resip::ClientInviteSessionHandle handle,
      const resip::SipMessage& msg)
{
   callHandler(handle->getAppDialogSet(), "clientConnected", 0, 0, &handle,
         &msg, 0);
}
예제 #3
0
void InviteSessionHandler::onProvisional(
      resip::ClientInviteSessionHandle handle, const resip::SipMessage& msg)
{
   callHandler(handle->getAppDialogSet(), "provisional", 0, 0, &handle, &msg,
         0);
}
예제 #4
0
void InviteSessionHandler::onEarlyMedia(resip::ClientInviteSessionHandle handle,
      const resip::SipMessage& msg, const resip::SdpContents& sdp)
{
   callHandler(handle->getAppDialogSet(), "earlyMedia", 0, 0, &handle, &msg,
         &sdp);
}
예제 #5
0
void InviteSessionHandler::onFailure(resip::ClientInviteSessionHandle handle,
      const resip::SipMessage& msg)
{
   callHandler(handle->getAppDialogSet(), "sessionExpired", 0, 0, &handle, &msg,
         0);
}
예제 #6
0
void InviteSessionHandler::onNewSession(resip::ClientInviteSessionHandle handle,
      resip::InviteSession::OfferAnswerType oat, const resip::SipMessage& msg)
{
   callHandler(handle->getAppDialogSet(), "clientNewSession", 0, 0, &handle,
         &msg, 0);
}
예제 #7
0
void InviteSessionHandler::onForkDestroyed(
      resip::ClientInviteSessionHandle handle)
{
   callHandler(handle->getAppDialogSet(), "forkDestroyed", 0, 0, &handle, 0, 0);
}