亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ua_appprobe.cpp

?? 改進后的SIP SERVICE API
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
 SIP_Service      * P_service,
 sip_msg_method_t   P_method,
 char             * P_extension_method,
 char             * P_CallID
 ) throw ()
{
  sip_msg_header_t        * L_CSeq = 0;
  sip_msg_header_t        * L_CallID = 0;
  sip_msg_header_t        * L_from = 0;
  sip_msg_header_t        * L_to = 0;

  sip_msg_uri_t           * L_request_uri = 0;
  sip_msg_uri_t           * L_calling_uri = 0;
  sip_msg_message_t       * l_sipRequest = 0;
		
  sip_msg_header_vector_t * L_headerVector = 0;
  sip_msg_body_t          * L_sdp_body = 0;    
  sdp_announcement_t      * L_sdp = 0;

  sip_status_t              L_sip_rc;
  sip_msg_error_t           L_error;
  unsigned int              L_cseq_num = 3221225472u ;  /* (3/2) *  2^31 */
  sip_bool_t                L_bool = SIP_FALSE;

  SIP_MessageContainer    * L_event = 0;

  if (G_trace >= 1) {
    std::cerr <<"== myAppProbeClient::statelessRequest"<<std::endl;
  }
  
  UA_Session* L_session = dynamic_cast<UA_Session*>
    (getProbe().createSession(*P_service));
  
  if (L_session == 0) {
    std::cerr <<"== myAppProbeClient::statelessRequest "
              <<"new session can't be created"
              <<std::endl;
    return;
  }


  if (G_trace >= 1) {
    std::cerr <<"== myAppProbeClient::statelessRequest new session created"
              <<std::endl;
  }

  if (G_trace >= 1) {
    std::cerr << "Building URI from : " 
              << getSipUserInfo()
              << "@"
              << getHostname()
              << ":"
              << getPort()              
              <<std::endl;
  }

  L_calling_uri = 
  sip_msg_new_sip_url((char *)getSipUserInfo().c_str(), /* (char*) */
                      (char *)getHostname().c_str(),/* (char*) */
                      getPort(), /* int */
     (char *)((getTransport() == SIP_TRANSPORT_TCP) ? "tcp" : "udp"),
  		      NULL, /* (char *) */
                      SIP_MSG_NONE,
                      NULL,
                      -1,
                      NULL,
                      L_bool,
                      NULL,
                      NULL);

  if(!L_calling_uri) 
    {
      std::cerr <<"== myAppProbeClient::statelessRequest "
                <<"== Unable to build the calling uri"<<std::endl;
      return ;
    }


  L_from = sip_msg_new_from_header(L_calling_uri, NULL, NULL, NULL, NULL);
  if(!L_from) 
    {
      std::cerr <<"== myAppProbeClient::statelessRequest "
                <<"== Unable to build the From: header\n"<<std::endl;
      return ;
    }

  L_CSeq = sip_msg_new_cseq_header(L_cseq_num,
                                   P_method, 
                                   P_extension_method, 
                                   NULL, NULL);
  if(!L_CSeq) 
    {
      std::cerr <<"== myAppProbeClient::statelessRequest "
                <<"== Unable to build the CSeq: header\n"<<std::endl;
      return ;
    }

  L_CallID = sip_msg_new_call_id_header(P_CallID,
                                        NULL, NULL, NULL);
  if(!L_CallID) 
    {
      std::cerr <<"== myAppProbeClient::statelessRequest "
                <<"== Unable to build the CallID: header\n"<<std::endl;
      return ;
    }

  L_request_uri = sip_msg_parse_uri((char *)P_calledUri.c_str(), &L_error);
  if(!L_request_uri) 
    {
      std::cerr<< "== myAppProbeClient::statelessRequest "
               << "== Syntax error near token \'"
               << L_error.unexpected_token
               << "\' in request URI\n" 
               << std::endl;
      return ;
    }
  
  L_session->setReqUri(L_request_uri);

  L_to = sip_msg_new_to_header(L_request_uri, NULL, 
                               (char *)"stateless", NULL, NULL);
  if(!L_to) 
    {
      std::cerr <<"== myAppProbeClient::statelessRequest "
                <<"== Unable to build the To: header\n"<<std::endl;
      return ;
    }

  L_headerVector = sip_msg_new_header_vector (&L_error);

  if (!L_headerVector)
    {
      std::cerr <<"== myAppProbeClient::statelessRequest "
                <<"== Unable to build the header vector"<<std::endl;
      return ;
    }

  L_sip_rc = sip_msg_insert_header (L_headerVector,L_from,-1);
  if (L_sip_rc != SIP_NORMAL)
    {
      std::cerr <<"== myAppProbeClient::statelessRequest "
                << "==  Unable to insert header from"<<std::endl;
      return ;
    }

  L_sip_rc = sip_msg_insert_header (L_headerVector,L_to,-1);
  if (L_sip_rc != SIP_NORMAL)
    {
      std::cerr <<"== myAppProbeClient::statelessRequest "
                << "==  Unable to insert header to "
                <<L_error.unexpected_token<<std::endl;
      return ;
    }
    
  L_sip_rc = sip_msg_insert_header (L_headerVector,L_CallID,-1);
  if (L_sip_rc != SIP_NORMAL)
    {
      std::cerr <<"== myAppProbeClient::statelessRequest "
                << "==  Unable to insert the CallID: header"
                << L_error.unexpected_token<<std::endl;
      return ;
    }
    
  L_sip_rc = sip_msg_insert_header (L_headerVector,L_CSeq,-1);
  if (L_sip_rc != SIP_NORMAL)
    {
      std::cerr <<"== myAppProbeClient::statelessRequest "
                << "==  Unable to insert the CSeq: header"
                << L_error.unexpected_token<<std::endl;
      return ;
    }
    
  if(P_method == SIP_MSG_INVITE) { /* Stateless RE-INVITE */
  
    L_sdp = sdp_new_announcement(0, 
                                 (char *)"media", 
                                 (char *)getSipUserInfo().c_str(), 
                                 (char *)"12341234", 
                                 (char *)"2",
                                 (char *)"IN",
                                 (char *)"IP4",
                                 (char *)"127.0.0.2",
                                 NULL);

    if(!L_sdp) 
      {
        std::cerr <<"== myAppProbeClient::statelessRequest "
                  <<"== Unable to build SDP announcement\n"<<std::endl;
        return;
      }

    L_sdp_body = sip_msg_new_sdp_body(L_sdp,SIP_FALSE, NULL);		
  }
  
  l_sipRequest = sip_msg_new_request 
    (P_method,
     L_request_uri,
     NULL,
     L_headerVector,
     L_sdp_body,
     0,
     0,
     &L_error );
  
  if (!l_sipRequest)
    {
      std::cerr <<"== myAppProbeClient::statelessRequest "
                <<"== Unable to build new Request "
                <<L_error.unexpected_token<<std::endl;
      return ;
    }

  L_session->setReqUri(L_request_uri);		
  L_event = new SIP_MessageContainer;
  L_event->setPayload(l_sipRequest);

  L_event->setCallId(FF_Identifier
                     (SIP_SRVC_NO_CALL,SIP_SRVC_NO_CALL));
  L_event->setDialogId(FF_Identifier
                       (SIP_SRVC_NO_DIALOG,SIP_SRVC_NO_DIALOG));
  L_event->setTransactionId(FF_Identifier
                            (1,SIP_SRVC_NEW_TRANSACTION));

  L_session->setService(*P_service);

  print_message_info(l_sipRequest, "Sending");

  getProbe().send(*P_service,*L_session,*L_event);

  
  if(P_method == SIP_MSG_INVITE) { // RE-invite
    L_session->setState(UA_Session::CALL_CALLING);		
  } else { // Bye
    L_session->setState(UA_Session::CALL_RELEASING);
  }
  return;
}

void UA_AppProbe::closeSession(UA_Session& P_session)
{
  sip_msg_error_t            L_error;
  sip_msg_message_t*         L_Message_rsp = 0;

  if (G_trace >= 1) std::cerr << "== Entering closeSession" << std::endl;
  switch (G_closeMode)
    {
    case  0:
      {
        SIP_MessageContainer* L_message = new SIP_MessageContainer;

        L_message->setCallId
          (FF_Identifier(1,P_session.getProviderCallId()));

        L_message->setDialogId
          (FF_Identifier(1,P_session.getProviderDialogId()));

        L_message->setTransactionId
          (FF_Identifier(1,-1));	

        if (G_subscribe)
          {
            L_message->setSubscriptionId
              (FF_Identifier(1,P_session.getProviderSubscriptionId()));
          }    


		if (G_subscribe && G_new_call)
			{
			std::cout << "Closing subscrition with currentSubscritionMustBeClosed"<<std::endl;
			L_message->currentSubscriptionMustBeClosed();
			}
		else
			{
              if (!G_silent) { 
                printf("Closing dialog with : message_ptr -> "
                       "currentDialogMustBeClosed()\n");
              }
			L_message->currentDialogMustBeClosed();
			}
        L_message->setPayload(0);

        getProbe().send(P_session.getService(),P_session,*L_message);
      }
      break;

    case 1:
      {

        if (!G_silent) { 
          printf("Closing session with getProbe().destroySession().\n");
        }
        
        getProbe().destroySession(P_session,SIP_CAUSE_NORMAL);
      }
      break;

    case 2:
      {
        SIP_MessageContainer* L_message;
        if (G_trace >= 1)
          std::cerr << "== send BYE "<<std::endl;  
    
        if (G_subscribe)
          {
            sip_msg_header_t * L_expires = 0;
            sip_msg_header_vector_t * L_hdr_vector = 0;
  
            L_expires = sip_msg_new_expires_header(0, NULL, NULL);
            if (!L_expires)
              {
                std::cerr <<"== Unable to build new expires header "<<L_error.status
                          <<std::endl;
                getProbe().destroySession(P_session,SIP_CAUSE_NORMAL);
                return ;
              }
  
            L_hdr_vector = sip_msg_new_header_vector(NULL);
            if (!L_hdr_vector)
              {
                std::cerr <<"== Unable to build header vector "<<L_error.status
                          <<std::endl;
                getProbe().destroySession(P_session,SIP_CAUSE_NORMAL);
                return ;
              }

            sip_status_t L_sip_rc;

            L_sip_rc = sip_msg_insert_header (L_hdr_vector,L_expires,-1);
            if (L_sip_rc != SIP_NORMAL)
              {
                std::cerr << "==  Unable to insert header" <<std::endl;
                return ;
              }
  
            L_Message_rsp =  sip_msg_new_request
              (SIP_MSG_SUBSCRIBE,
               sip_msg_new_empty_uri(),
               NULL,
               L_hdr_vector,
               0,
               0,
               0,
               &L_error);  

            L_message = new SIP_MessageContainer;
	
            L_message->setCallId
              (FF_Identifier(1,P_session.getProviderCallId()));
	
            L_message->setDialogId
              (FF_Identifier(1,P_session.getProviderDialogId()));
	
            L_message->setTransactionId
              (FF_Identifier(1,-1));	

            L_message->setSubscriptionId
              (FF_Identifier(1,P_session.getProviderSubscriptionId()));

            if (G_trace >= 1)
              std::cerr << "== send UNSUBSCRIBE "<<std::endl;  
	
            L_message->setPayload(L_Message_rsp);

            if (!G_silent) { 
              printf("Terminating the subscription with expire = 0.\n");
            }

            getProbe().send(P_session.getService(),P_session,*L_message);
          }   
  
        if (!G_subscribe || (G_subscribe && !G_new_call))
          {  
            L_Message_rsp =  sip_msg_new_request
              (SIP_MSG_BYE,
               sip_msg_new_empty_uri(),
               NULL,
               0,
               0,
               0,
               0,
               &L_error);

            if (!L_Message_rsp)
              {
                std::cerr <<"== Unable to build new Request "<<L_er

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色拍拍在线精品视频8848| 欧美国产日韩一二三区| 亚洲国产精品自拍| 欧美日韩精品一区二区三区 | 在线中文字幕不卡| 亚洲精品综合在线| 欧美色成人综合| 亚洲国产精品久久久男人的天堂| 久久新电视剧免费观看| 亚洲国产精品久久久久秋霞影院 | 7777精品伊人久久久大香线蕉完整版 | 国产精品美日韩| 99久精品国产| 亚洲bt欧美bt精品777| 日韩欧美资源站| 成人黄色av电影| 香蕉成人啪国产精品视频综合网| 欧美sm美女调教| 成人动漫一区二区| 亚洲第一狼人社区| 久久久久高清精品| 色先锋aa成人| 久久成人av少妇免费| 中文字幕在线一区二区三区| 欧美日韩一区二区在线观看视频 | 中文字幕一区av| 欧美裸体一区二区三区| 国产自产高清不卡| 亚洲精品国产a久久久久久| 欧美一区二区三区日韩视频| 国产成人在线观看免费网站| 亚洲国产精品一区二区www| 精品国产伦一区二区三区免费 | 日产欧产美韩系列久久99| 国产蜜臀av在线一区二区三区| 欧美亚洲国产一区在线观看网站| 精品一区二区三区av| 亚洲乱码精品一二三四区日韩在线| 3d成人动漫网站| 久久综合久久综合九色| 91豆麻精品91久久久久久| 国产美女视频91| 五月天一区二区| 亚洲欧美一区二区三区国产精品| 日韩免费看的电影| 欧美亚洲综合色| 成人国产免费视频| 国内久久婷婷综合| 日日摸夜夜添夜夜添国产精品 | 久久网站热最新地址| 欧美日韩在线一区二区| 不卡电影一区二区三区| 青青草视频一区| 亚洲精品免费一二三区| 欧美激情一区二区三区全黄| 91精品国产一区二区| 欧美自拍偷拍午夜视频| 91在线视频在线| 风流少妇一区二区| 国产一区二区免费看| 蜜臀av性久久久久av蜜臀妖精| 亚洲一区二区三区视频在线播放| 国产精品久线在线观看| 国产日韩av一区二区| 精品国产区一区| www国产成人免费观看视频 深夜成人网| 欧美日韩一区三区| 欧美色综合天天久久综合精品| 99在线精品免费| 成人美女在线视频| 粗大黑人巨茎大战欧美成人| 国产盗摄一区二区| 国产69精品久久久久777| 国产成人午夜99999| 国产永久精品大片wwwapp | 国产精品美女一区二区在线观看| 欧美精品一区二区三区高清aⅴ| 日韩一级二级三级| 日韩欧美国产成人一区二区| 日韩欧美国产不卡| 久久网站热最新地址| 国产嫩草影院久久久久| 国产精品色一区二区三区| 国产精品青草久久| 专区另类欧美日韩| 一区二区三区在线视频观看| 亚洲午夜激情av| 日韩精品亚洲一区| 久久精品免费看| 国产精品77777| 99热在这里有精品免费| 91视视频在线观看入口直接观看www| 91丨porny丨最新| 欧美三电影在线| 欧美成人官网二区| 国产目拍亚洲精品99久久精品| 亚洲人成人一区二区在线观看| 亚洲中国最大av网站| 国产美女在线精品| 成人高清视频免费观看| 日本国产一区二区| 欧美一级日韩一级| 国产女同性恋一区二区| 一区二区三区免费| 美腿丝袜亚洲一区| 成人天堂资源www在线| 色婷婷精品久久二区二区蜜臀av| 欧美裸体一区二区三区| 久久久久九九视频| 亚洲一区视频在线观看视频| 蜜臀av一区二区在线免费观看 | 国产一区二区按摩在线观看| 成人av在线网| 欧美精品久久一区二区三区| 日韩女优视频免费观看| 国产精品欧美经典| 日韩av不卡在线观看| 成人av资源站| 欧美一级片免费看| 国产精品久久久久久久久免费丝袜 | 国产99久久久国产精品潘金网站| 91丝袜美女网| 精品国产一区二区三区久久久蜜月 | 综合色中文字幕| 日本中文字幕一区二区视频| 床上的激情91.| 日韩三级电影网址| 一卡二卡欧美日韩| 国产馆精品极品| 4438x成人网最大色成网站| 亚洲欧美怡红院| 国产麻豆视频一区| 制服丝袜一区二区三区| 日韩一区中文字幕| 狠狠久久亚洲欧美| 在线不卡免费av| 亚洲综合在线电影| 国产99久久久国产精品| 91麻豆精品国产91久久久| 一区二区三区四区视频精品免费| 国产成人在线免费| 久久综合久色欧美综合狠狠| 人妖欧美一区二区| 欧美日韩亚洲综合在线| 国产精品国产馆在线真实露脸 | 99久久99久久久精品齐齐| 精品国产91洋老外米糕| 午夜精品影院在线观看| 亚洲欧洲精品一区二区精品久久久| 日本不卡一区二区| 欧美天堂一区二区三区| 中文字幕日韩一区| 成人午夜激情在线| 久久久精品tv| 久久99蜜桃精品| 91精品国产乱| 日产国产高清一区二区三区| 欧美麻豆精品久久久久久| 亚洲国产视频一区| 欧美综合天天夜夜久久| 亚洲综合男人的天堂| 91福利国产成人精品照片| 亚洲精品久久7777| 色88888久久久久久影院按摩| 国产精品日韩成人| 99久久精品免费看| 亚洲欧美日韩电影| 91福利资源站| 视频一区在线播放| 欧美一级xxx| 精油按摩中文字幕久久| 日韩欧美一区二区视频| 精品综合久久久久久8888| 精品福利一二区| 久草精品在线观看| 26uuu亚洲综合色| 精品一区在线看| 欧美成人猛片aaaaaaa| 日韩福利电影在线| 欧美一区二区观看视频| 麻豆国产一区二区| 亚洲精品一区二区三区福利| 九色综合国产一区二区三区| 久久久一区二区三区| 国产ts人妖一区二区| 国产精品人妖ts系列视频| 成人高清视频在线| 一区二区三区免费看视频| 欧美丰满高潮xxxx喷水动漫| 免费成人在线播放| 欧美精品一区二区三区蜜臀 | 久久亚洲综合色| 成人av网站大全| 亚洲国产aⅴ天堂久久| 欧美一区二区三区视频免费播放| 国产乱子伦视频一区二区三区| 日本一区二区三区国色天香| 色域天天综合网| 美女爽到高潮91| 亚洲欧洲一区二区在线播放|