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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ua_appprobe.cpp

?? 改進(jìn)后的SIP SERVICE API
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
{
  if (G_trace >= 1) std::cerr << "== Entering buildReqInDialog" << std::endl;

  SIP_MessageContainer* L_Rsp = new SIP_MessageContainer;

  print_message_info(P_Message_rsp, "Sending");

  L_Rsp->setPayload(P_Message_rsp);
      
  // set the call with 1 for the User and the Provider value set by the stack
  L_Rsp->setCallId
    (FF_Identifier(1,
                       P_initialRequest.getCallId().
                       getProviderIdentifier()));

  // set the dialogId with 1 for the User and the Provider value set by 
  // the stack
  L_Rsp->setDialogId(FF_Identifier(1,P_initialRequest.getDialogId().
                                         getProviderIdentifier()));

  // set the TransactionId with 1 for the User and the Provider value 
  // set by the stack
  L_Rsp->setTransactionId(FF_Identifier
                          (1,-1));

  // Set also the subscription IF if available
  L_Rsp->setSubscriptionId(FF_Identifier
                           (1,P_initialRequest.getSubscriptionId().
                            getProviderIdentifier()));
  
  if (G_trace >= 1) {
    fprintf(stderr,
            "== Building request with provider IDs:\n"
            "==   Call-ID   = %d,\n"
            "==   Dialog-ID = %d,\n"
            "==   Trans-ID  = %d,\n"
            "==   Sub-ID    = %d.\n",
            L_Rsp->getCallId().getProviderIdentifier(),
            L_Rsp->getDialogId().getProviderIdentifier(),
            L_Rsp->getTransactionId().getProviderIdentifier(),
            L_Rsp->getSubscriptionId().getProviderIdentifier());
  }

  if (G_trace >= 2) std::cerr << "== Returning from buildRsp" << std::endl;

  return L_Rsp;
}

SIP_Event* UA_AppProbe::createMessage () throw ()
{
  if (G_trace >= 1) std::cerr << "== Entering createMessage" << std::endl;
  return new(std::nothrow) SIP_MessageContainer;
    
}

void UA_AppProbe::destroyMessage (SIP_Event& P_message) throw ()
{
  if (G_trace >= 1) std::cerr << "== Entering destroyMessage" << std::endl;
  delete  &P_message;
}


SIP_Probe& UA_AppProbe::getProbe () throw (std::exception)
{
if (SIP_AppProbe::getProbe())
    return *SIP_AppProbe::getProbe();
  else
    throw std::runtime_error("From UA_AppProbe::getProbe, Probe not set yet");
}

void UA_AppProbe::initOrReinitSession(std::string & P_calledUri, 
                                      SIP_Service * P_service,
                                      UA_Session  * P_session_for_reinvite) 
  throw ()
{
  sip_msg_method_t          L_method = SIP_MSG_INVITE;
  sip_msg_header_t        * L_from = 0;
  sip_msg_header_t        * L_to = 0;

  sip_msg_header_t        * L_contact = 0;

  sip_msg_header_t        * L_eventhdr = 0;
  sip_msg_header_t        * L_expires  = 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_status_t              L_sip_rc;
  sip_msg_error_t           L_error;
  sip_msg_body_t          * L_sdp_body = 0;
  sdp_announcement_t      * L_sdp = 0;
  UA_Session              * L_session = 0;

  if (G_trace >= 1)
    std::cerr <<"== myAppProbeClient::sendNewCall"<<std::endl;
  std::string L_transport;
  std::string L_extensionMethodName;
  char* L_extensionMethodNameRef = 0;
  
  if (getTransport() == SIP_TRANSPORT_TCP)
    L_transport = "tcp";
  else
    L_transport = "udp";
    
  if(!P_session_for_reinvite) {
    L_session = dynamic_cast<UA_Session*>
      (getProbe().createSession(*P_service));
    if (L_session == 0)
      {
        std::cerr <<"== myAppProbeClient::sendNewCall new "
                  <<"session can't be created"
                  <<std::endl;
        return;
      }
    
    if (G_trace >= 1)
      std::cerr <<"== myAppProbeClient::sendNewCall new session created"
                <<std::endl;
    
    L_request_uri = sip_msg_parse_uri((char *)P_calledUri.c_str(), &L_error);
    if(!L_request_uri) 
      {
        std::cerr<<"== Syntax error near token \'"
                 <<L_error.unexpected_token<<"\' in request URI\n" <<std::endl;
        return ;
      }
    L_session->setService(*P_service);
  
  } else {
    if (G_trace >= 1)
      std::cerr 
        << "== myAppProbeClient::sendNewCall re-using previous "
        << "session for re-invite"
        << std::endl;
    
    L_session = P_session_for_reinvite;
    L_request_uri = sip_msg_new_empty_uri();
  }
  
  SIP_MessageContainer* L_event = 0;
  
  if (!G_subscribe || (G_subscribe && !G_new_call))
    {
      L_sdp = sdp_new_announcement(0, 
                                   (char *)"media", 
                                   (char *)getSipUserInfo().c_str(),
                                   
                                   P_session_for_reinvite ? // The body must be different 
                                     (char *)"12341234" :   // in a re-invite to make the
                                     (char *)"43214312",    // difference with a session-timer

                                   (char *)"2",
                                   (char *)"IN",
                                   (char *)"IP4",
                                   (char *)"127.0.0.2",
                                   NULL);

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

      L_sdp_body = sip_msg_new_sdp_body(L_sdp,SIP_FALSE, NULL);		
    }
  
  L_calling_uri = sip_msg_new_sip_url((char *)getSipUserInfo().c_str(),
                                      (char *)getHostname().c_str(),
                                      getPort(),
                                      (char *)L_transport.c_str(),
                                      NULL,
                                      SIP_MSG_NONE,
                                      NULL,
                                      -1,
                                      NULL,
                                      SIP_FALSE,
                                      NULL,
                                      NULL);
  if(!L_calling_uri) 
    {
      std::cerr <<"== Unable to build the calling uri"<<std::endl;
      return ;
    }

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

  if(!P_session_for_reinvite) {
    if (sip_msg_insert_header (L_headerVector,
                               sip_msg_new_from_header(L_calling_uri, 
                                                       NULL, 
                                                       NULL, 
                                                       NULL, 
                                                       NULL),
                               -1) != SIP_NORMAL){
      std::cerr << "==  Unable to insert the from header"<<std::endl;
      return ;
    }
    if (sip_msg_insert_header (L_headerVector,
                               sip_msg_new_to_header(L_request_uri, 
                                                     NULL, 
                                                     NULL, 
                                                     NULL, 
                                                     NULL),
                               -1) != SIP_NORMAL){
      std::cerr << "==  Unable to insert the to header"<<std::endl;
      return ;
    }
#if 0
    if (sip_msg_insert_header (L_headerVector,
                               sip_msg_new_contact_header(L_calling_uri, 
                                                          NULL, 
                                                          NULL, 
                                                          NULL, 
                                                          NULL),
                               -1) != SIP_NORMAL){
      std::cerr << "==  Unable to insert the contact header"<<std::endl;
      return ;
    }
#endif
  }
  char to_string[255];
  sip_msg_print_header(sip_msg_new_to_header(L_request_uri, 
                                                     "zy", 
                                                     NULL, 
                                                     NULL, 
                                                     NULL), 
                                to_string, 255, SIP_FALSE, NULL);
  std::cerr << "to_string["<<to_string<< "]" <<std::endl;
  char from_string[255];
  sip_msg_print_header(sip_msg_new_from_header(L_calling_uri, 
                                                       "hello", 
                                                       NULL, 
                                                       NULL, 
                                                       NULL), 
                                from_string, 255, SIP_FALSE, NULL);
  std::cerr << "from_string["<<from_string<< "]" <<std::endl;

  
  
  
  if (G_subscribe && G_new_call)
    {
      static int L_id = 0;
      char       L_idstr[10];
      L_id++;
 
      sprintf(L_idstr, "%d", L_id);
 
      L_eventhdr = sip_msg_new_event_header((char *)"TESTEVENT",
                                            L_idstr,
                                            NULL,
                                            NULL);    
      if(!L_eventhdr) 
        {
          std::cerr <<"== Unable to build the event: header\n"<<std::endl;
          return ;
        }

      L_sip_rc = sip_msg_insert_header (L_headerVector,L_eventhdr,-1);
      if (L_sip_rc != SIP_NORMAL)
        {
          std::cerr << "==  Unable to insert header to "
                    <<L_error.unexpected_token<<std::endl;
          return ;
        }
    
      L_expires = sip_msg_new_expires_header(G_expires,
                                             NULL,
                                             NULL);
      if(!L_expires) 
        {
          std::cerr <<"== Unable to build the expires: header\n"<<std::endl;
          return ;
        }

      L_sip_rc = sip_msg_insert_header (L_headerVector,L_expires,-1);
      if (L_sip_rc != SIP_NORMAL)
        {
          std::cerr << "==  Unable to insert header to "
                    <<L_error.unexpected_token<<std::endl;
          return ;
        }
    
      L_method = SIP_MSG_SUBSCRIBE;
    }  
  if (G_refer && G_new_call)
    {
      if (G_trace >= 1)
        std::cerr <<"== myAppProbeClient::sendNewCall with refer"<<std::endl;

      std::string L_referToString;
      L_referToString.append("Refer-To:");
      L_referToString.append(G_referTo);
      sip_msg_header_t * L_referTo = 
        sip_msg_new_raw_header((char*)L_referToString.c_str(),0,&L_error);

      if (L_referTo == 0)
        {
          std::cerr << "==  Unable to create Refer-To raw header "
                    <<L_error.unexpected_token<< " with string " 
                    << L_referToString <<std::endl;
          return ;
        }

      L_sip_rc = sip_msg_insert_header (L_headerVector,L_referTo,-1);
      if (L_sip_rc != SIP_NORMAL)
        {
          std::cerr << "==  Unable to insert header Refer-To "
                    <<L_error.unexpected_token<<std::endl;
          return ;
        }
     if (sip_msg_insert_header (L_headerVector,
                               sip_msg_new_contact_header(L_calling_uri, 
                                                          NULL, 
                                                          -1,
                                                          -1, 
                                                          NULL, 
                                                          NULL),
                               -1) != SIP_NORMAL){
      std::cerr << "==  Unable to insert the contact header"<<std::endl;
      return ;
    }
      L_method = SIP_MSG_EXTENSION;
      L_extensionMethodName = "REFER";
      L_extensionMethodNameRef = (char*)L_extensionMethodName.c_str();
    }

  l_sipRequest = sip_msg_new_request 
    (L_method,
     L_request_uri,
     NULL,
     L_headerVector,
     L_sdp_body,
     L_extensionMethodNameRef,
     0,
     &L_error );
  
  char r_url[255];
  sip_msg_print_uri(L_request_uri,r_url,255,NULL);
  std::cerr << "r_url["<<r_url<< "]" <<std::endl;
  
  if (!l_sipRequest)
    {
      std::cerr <<"== 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);

  if (P_session_for_reinvite) {
    L_event->setCallId
      (FF_Identifier(1,L_session->getProviderCallId()));
    L_event->setDialogId
      (FF_Identifier(1,L_session->getProviderDialogId()));
  } else {
    L_event->setCallId(FF_Identifier(1,SIP_SRVC_NEW_CALL));
    L_event->setDialogId(FF_Identifier(1,SIP_SRVC_NEW_DIALOG));
  }

  L_event->setTransactionId(FF_Identifier
                            (1,SIP_SRVC_NEW_TRANSACTION));
  if (G_subscribe && G_new_call)
    {
      L_event->setSubscriptionId(FF_Identifier(1,-1));
    }  

  print_message_info(l_sipRequest, "Sending");

  getProbe().send(L_session->getService(),*L_session,*L_event);
  L_session->setState(UA_Session::CALL_CALLING);		
  return;
}

void UA_AppProbe::statelessRequest
(
 std::string      & P_calledUri, 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久毛片| 国产在线视频精品一区| 亚洲日本一区二区| 国产精品乱码一区二区三区软件| 久久―日本道色综合久久| 精品国精品国产尤物美女| 日韩三级视频在线观看| 日韩欧美成人午夜| 欧美变态tickling挠脚心| 日韩欧美亚洲另类制服综合在线| 欧美一区二区大片| www国产成人| 国产日韩欧美精品在线| 国产精品热久久久久夜色精品三区| 亚洲国产精品精华液ab| 亚洲日本中文字幕区| 一区二区三区四区在线免费观看 | 中文字幕av一区二区三区免费看 | 久久精品视频一区二区| 国产亲近乱来精品视频| 亚洲视频在线一区| 五月激情丁香一区二区三区| 天堂资源在线中文精品| 久久99精品视频| 成人永久aaa| 日本久久电影网| 91精品国产综合久久精品app | 26uuu欧美日本| 国产精品久久久久影院色老大| 一个色综合av| 看电视剧不卡顿的网站| 国产成人亚洲综合a∨婷婷图片 | 日韩欧美国产一区二区三区| 精品91自产拍在线观看一区| 国产精品久久久久久久浪潮网站 | 日韩二区在线观看| 国产精品一区二区久激情瑜伽| 93久久精品日日躁夜夜躁欧美| 欧美喷潮久久久xxxxx| 精品蜜桃在线看| 亚洲免费电影在线| 久久成人综合网| 99riav一区二区三区| 日韩一级二级三级精品视频| 中文字幕欧美区| 日本三级韩国三级欧美三级| 成年人国产精品| 日韩午夜激情电影| 亚洲精品国产a久久久久久 | 678五月天丁香亚洲综合网| 久久众筹精品私拍模特| 亚洲综合一二三区| 毛片av中文字幕一区二区| 99久久伊人精品| 欧美成人精品福利| 亚洲国产日韩a在线播放性色| 国产精品一品视频| 在线电影一区二区三区| 中文字幕欧美一区| 久久99国产精品免费| 欧美曰成人黄网| 国产午夜精品久久久久久免费视| 日日夜夜免费精品| 色综合天天综合网天天看片| 精品va天堂亚洲国产| 亚洲成人1区2区| 91亚洲精品一区二区乱码| 久久久噜噜噜久久人人看 | 热久久免费视频| 91官网在线免费观看| 国产精品视频在线看| 激情综合色播五月| 91精品国产丝袜白色高跟鞋| 夜夜嗨av一区二区三区中文字幕 | 欧美精品99久久久**| 亚洲视频中文字幕| 成人免费高清在线观看| 久久看人人爽人人| 精品一区二区三区免费观看 | 亚洲午夜国产一区99re久久| av电影在线观看一区| 国产欧美1区2区3区| 韩国三级中文字幕hd久久精品| 欧美一区二区三区系列电影| 亚洲国产欧美一区二区三区丁香婷| aaa欧美色吧激情视频| 国产精品人成在线观看免费| 国产精品一二三| 2017欧美狠狠色| 韩国中文字幕2020精品| 日韩一级成人av| 日韩成人精品在线观看| 欧美一区二区三区在线观看视频| 午夜精品成人在线| 亚洲成av人综合在线观看| 色综合久久九月婷婷色综合| 中文字幕一区二区不卡 | 久久这里只有精品首页| 久久se精品一区精品二区| 日韩免费视频线观看| 久久精品国产成人一区二区三区| 欧美日韩小视频| 日韩激情视频在线观看| 91精品国产色综合久久不卡蜜臀| 日韩黄色一级片| 精品日韩av一区二区| 国产一区欧美日韩| 国产欧美精品一区| 91网站最新地址| 亚洲一区二区三区精品在线| 欧美日免费三级在线| 图片区小说区国产精品视频| 67194成人在线观看| 久久国产精品99久久人人澡| 久久免费电影网| av在线这里只有精品| 亚洲视频免费在线| 欧美三级在线看| 老司机精品视频在线| 久久久激情视频| 91免费精品国自产拍在线不卡| 亚洲va天堂va国产va久| 91精品国产综合久久精品麻豆 | youjizz久久| 亚洲精品日韩综合观看成人91| 欧美视频一区二区| 精品午夜久久福利影院| 中文一区在线播放| 在线精品视频免费播放| 男人的j进女人的j一区| 国产午夜精品在线观看| 亚洲免费观看视频| 在线不卡中文字幕| 国产精品主播直播| 亚洲精品日韩综合观看成人91| 这里只有精品免费| 国产99久久精品| 亚洲午夜久久久久久久久电影院| 日韩一级免费一区| 95精品视频在线| 免费精品视频在线| 国产精品麻豆久久久| 6080日韩午夜伦伦午夜伦| 国产99精品国产| 亚洲444eee在线观看| 久久久国产综合精品女国产盗摄| 色噜噜狠狠色综合欧洲selulu| 欧美bbbbb| 亚洲精品免费在线观看| 欧美大片拔萝卜| 色综合视频一区二区三区高清| 日本不卡一区二区三区| 中文字幕制服丝袜一区二区三区| 欧美久久一区二区| 不卡在线视频中文字幕| 久久国产精品色婷婷| 一区二区三区高清不卡| 久久色.com| 欧美日本一道本在线视频| 9人人澡人人爽人人精品| 麻豆成人91精品二区三区| 一区二区三区鲁丝不卡| 久久免费的精品国产v∧| 欧美精选午夜久久久乱码6080| 成人av先锋影音| 久久超碰97中文字幕| 亚洲福利视频导航| 国产精品私人自拍| 精品国产91久久久久久久妲己 | 国产精品三级视频| 欧美一区二区观看视频| 欧美性受xxxx黑人xyx性爽| 国产乱色国产精品免费视频| 图片区小说区国产精品视频| 亚洲人成亚洲人成在线观看图片| 久久精品视频免费| 欧美tickling挠脚心丨vk| 欧美日韩一区二区三区在线看| 成人99免费视频| 国产成a人亚洲| 国产一区二区三区免费播放| 亚洲国产精品久久久久秋霞影院 | 国产一区二区毛片| 奇米777欧美一区二区| 亚洲午夜影视影院在线观看| 国产精品久久久久aaaa| 国产喷白浆一区二区三区| 日韩欧美你懂的| 欧美一区二区日韩一区二区| 欧美午夜免费电影| 在线视频你懂得一区| 99re视频精品| 91在线国内视频| 91色婷婷久久久久合中文| 不卡影院免费观看| eeuss鲁一区二区三区| 成人美女在线视频| 成人a免费在线看| 波多野结衣在线aⅴ中文字幕不卡| 岛国精品在线观看|