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

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

?? ua_main.cpp

?? 改進后的SIP SERVICE API
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
     "\n" 
     "    -lb copies:    Load balance on n UAS copy (default is 1).\n"
     "\n" 
     "    -cls:          Close the session from UAS side after receiving the.\n"
     "                   ACK request.\n"
     "\n" 
     "  UAC options:\n"
     "  ------------\n" 
     "\n" 
     "    -c SIP_URL:    Switch to UAC mode and call the specified target\n"
     "                   SIP_URL.\n"
     "\n" 
     "    -cps cps:      Use UAC multithread mode with 'cps' traffic\n"
     "                   rate (calls per second).\n"
     "\n" 
     "    -s delay:      Time (seconds) between Ack and Bye (default is 0).\n" 
     "\n" 
     "    -d delay:      Delay before ativating probes in seconds.\n" 
     "\n" 
     "    -nt number:    Number of sender threads.\n"
     "\n" 
     "    -sb SIP_URL:   Sends a call stateless BYE transaction to the\n"
     "                   specified SIP URL. Also allows stateless messages.\n"
     "                   This option forces the -st option.\n"
     "\n" 
     "    -re seconds:   Sends a RE-INVITE instead of an BYE after the \n"
     "                   specified delay.\n"
     "\n" 
     "  Notifier options:\n"
     "  -----------------\n" 
     "\n" 
     "  When UAS (no options) when we receive a SUBSCRIBE request, the\n" 
     "  program switchs to the notifier mode, and sends a NOTIFY\n" 
     "  request. On reception of a SUBSCRIBE with expires = 0 request,\n" 
     "  the program replies with a NOTIFY 'terminated' and closes the,\n" 
     "  subscription.\n" 
     "\n" 
     "    -stb:          When notifier, send a NOTIFY without the \n"
     "                   'terminated' state, after receiving a SUBSCRIBE\n"
     "                   with expires = 0.\n"
     "\n"
     "    -std:          When notifier, destroys the session instead of \n"
     "                   sending a NOTIFY with the 'terminated' sate after \n"
     "                   receiving a SUBSCRIBE with expires = 0.\n"
     "\n"
     "    -snn:          When notifier, Do not send a NOTIFY after reception\n"
     "                   of the SUBSCRIBE message.\n"
     "\n"
     "  Subscriber options:\n"
     "  -------------------\n" 
     "\n" 
     "  When UAC, the program can send a SUBSCRIBE request either in\n" 
     "  a new call or using an existing call created by an INVITE.\n" 
     "\n" 
     "    -sub:          Tells the UAC to act as a subscriber. For each \n"
     "                   outgoing call, the UAC will send a SUBSCRIBE with\n"
     "                   header Expires set to expires. Default value = 0.\n"
     "\n"
     "    -exp delay:    Expires header value (default is 0). \n"
     "\n" 
     "    -new:          Tells the UAC to send SUBSCRIBE in new calls and\n"
     "                   not usingexisting calls.\n"
     "\n" 
     "  Refer:\n"
     "  ------\n" 
     "\n" 
     "    -refer uri:    Sends a REFER method with the Refer-To header\n"
     "                   set to 'uri'.\n"
     "\n",
     exe_name, ip_add);
  
  exit(0);
}

int main (int argc, char *argv[])
{
  int                          argi;

  char                         L_className[255] = { 0 };
  int                          L_unbindService = 0;
  int                          L_nbcall = 0;
  SIP_TransportType            L_trpType;
  //int                          L_nfinishedCalls = 0;
  hrtime_t                     L_delayBeforeActivate;
  int                          L_unbindAtTheEnd = 0;
  int                          L_destructive_mode = 0;
  int                          L_trans_deleted_mode = 0;
  int                          L_numberOfUasCopies = 1;
  int                          L_manual_provisionning = 0;

  char                         LocalServer[255] = { 0 };
  char                         buffer[64] = { 0 };
  struct hostent             * sip_local_host = NULL;
  char                         sip_appli_name[80] = { 0 };
  char                         sip_local_ip[50];
  int                          VB_client_mode=0;
  struct sigaction             action;
  char                       * param_ff = (char *)"defaultFF";
  char                       * L_ProbeManagerName = NULL;
  int                          L_numberOfRepeat = 1;
  char                       * L_role = (char *)"UA";
  SIP_LogicalEntityType	       L_logicalEntity = SIP_LE_UA;
  sip_msg_error_t	             L_error;
  bool						             L_startbusy = false;
  hrtime_t					           L_selectMinimalDelay = 0;
  timeval					             L_selectMinimalDelayForSelect = {0,0};
  bool						             L_noService = false ;

  // Ignore the SIP_PIPE signal  信號處理
  memset(&action, 0, sizeof(action));
  action.sa_handler=SIG_IGN;
  sigaction(SIGPIPE, &action, NULL);

  // Get default local server
  if  ((gethostname(sip_appli_name,64) != 0)
       || (!(sip_local_host = gethostbyname(sip_appli_name)))) {
    printf("Cannot get local host informations\n");
    exit(1);
  } else {
    strcpy(sip_local_ip,
           (char *) inet_ntoa
           (*(struct in_addr *)(sip_local_host->h_addr_list[0])));
  }

  // Set default parameters
  G_reply = 0;
  G_time_wait = 0;
  G_trace = 0;
  G_sleep = 0;
  G_cps = 0;
  G_closeMode = 0;
  //初始化協(xié)議棧名
  sprintf(L_className, "service_example_%d", getpid());
  L_nbcall = 1;
  L_unbindService = 0;
  L_nbProbe = 1;
  L_delayBeforeActivate = 0;
  L_unbindAtTheEnd = 0;
  L_nbSenderThread = 0;
  G_Buggy_terminated = 0;
  LocalServer[0] = 0;
  G_service_username = (char *)"service";
  G_portNumber = 5060;

  // Parse command line
  for(argi = 1; argi < argc; argi++) {
    
    if((!strcmp(argv[argi], "-h"    )) ||
       (!strcmp(argv[argi], "--h"   )) || 
       (!strcmp(argv[argi], "--help")) || 
       (!strcmp(argv[argi], "-help" ))    ) {
      usage(argv[0],sip_local_ip);
      exit(0);
    }
    
    if(!strcmp(argv[argi], "-l")) {
      if((++argi) < argc) {
        strcpy(LocalServer, argv[argi]);
      } else {
        usage(argv[0],sip_local_ip);
        exit(1);
      }
    }
    
    if(!strcmp(argv[argi], "-v")) {
      G_trace = 1;
    }

    if(!strcmp(argv[argi], "-ubs")) {
      L_unbindService = 1;
    }
    
    if(!strcmp(argv[argi], "-silent")) {
      G_silent = 1;
    }
    
    if(!strcmp(argv[argi], "-ubp")) {
      L_unbindAtTheEnd = 1;
    }

    if(!strcmp(argv[argi], "-snn")) {
      G_snn_option = 1;
    }

    if(!strcmp(argv[argi], "-sd")) {
      L_destructive_mode = 1;
    }
    if(!strcmp(argv[argi], "-st")) {
      L_trans_deleted_mode = 1;
    }
    if(!strcmp(argv[argi], "-noservice")) {
      L_noService = true;
    }

    if(!strcmp(argv[argi], "-smd")) {
      if((++argi) < argc) 
        {
          L_selectMinimalDelay = atol(argv[argi]);
          L_selectMinimalDelay = L_selectMinimalDelay*1000000;
          L_selectMinimalDelayForSelect.tv_usec=atol(argv[argi])*1000;
        }
    }


    if(!strcmp(argv[argi], "-startbusy")) {
      L_startbusy = true;
    }
    
    if(!strcmp(argv[argi], "-stb")) {
      G_Buggy_terminated = 1;
    }
    
    if(!strcmp(argv[argi], "-std")) {
      G_destroy_on_unsubscribe = 1;
    }

    if (!strcmp(argv[argi], "-new")) {
      G_new_call = 1;
    }

    if (!strcmp(argv[argi], "-sub")) {
      G_subscribe = 1;
    }

    if(!strcmp(argv[argi], "-exp")) {
      if((++argi) < argc) {
        G_expires = atol(argv[argi]);	
      } else {
        usage(argv[0],sip_local_ip);
        exit(1);
      }
    }
    
    if(!strcmp(argv[argi], "-r")) {
      if((++argi) < argc) {
        G_reply = atol(argv[argi]);	
      } else {
        usage(argv[0],sip_local_ip);
        exit(1);
      }
    }
    
    if(!strcmp(argv[argi], "-nt")) {
      if((++argi) < argc) {
        L_nbSenderThread = atol(argv[argi]);
        if (L_nbSenderThread>0) G_blockingMode =  true;
      } else {
        usage(argv[0],sip_local_ip);
        exit(1);
      }
    }

    if(!strcmp(argv[argi], "-t")) {
      if((++argi) < argc) {
        G_time_wait = atol(argv[argi]);	
      } else {
        usage(argv[0],sip_local_ip);
        exit(1);
      }
    }
    
    if(!strcmp(argv[argi], "-c")) {
      if((++argi) < argc) {
        L_target.append(argv[argi]);
	 printf("L_target = %s\n",L_target.c_str());
        VB_client_mode = 1;
      } else {
        usage(argv[0],sip_local_ip);
        exit(1);
      }
    }

    if(!strcmp(argv[argi], "-refer")) {
      if((++argi) < argc) {
        G_refer = 1;
        G_referTo = argv[argi];
        if(!sip_msg_parse_uri((char*)G_referTo.c_str(), &L_error)) {
          std::cout <<"Syntax error near token \'"
                    <<L_error.unexpected_token 
                    << "\' in Refer-To URI\n" 
                    << "for string" 
                    << G_referTo 
                    << std::endl;
          usage(argv[0],sip_local_ip) ;
        }    
      } else {
        usage(argv[0],sip_local_ip);
        exit(1);
      }
    }
    
    if(!strcmp(argv[argi], "-redir")) {
      if((++argi) < argc) {
        G_redir = sip_msg_parse_uri(argv[argi], NULL);
        if(!G_redir) {
          printf("Invalid URI for -redir option: '%s'.\n",
                 argv[argi]);
          usage(argv[0],sip_local_ip) ;
        }
        G_reply = 3;
      } else {
        usage(argv[0],sip_local_ip);
        exit(1);
      }
    }
    
    if (!strcmp(argv[argi], "-st")) {
      G_stateless_messages = 1;
    }

    if(!strcmp(argv[argi], "-sb")) {
      if((++argi) < argc) {
        L_target.append(argv[argi]);
        VB_client_mode = 1;
        G_stateless_bye = 1;
        G_stateless_messages = 1;
      } else {
        usage(argv[0],sip_local_ip);
        exit(1);
      }
    }
    
    if(!strcmp(argv[argi], "-p")) {
      if((++argi) < argc) {
        G_portNumber = atol(argv[argi]);
      } else {
        usage(argv[0],sip_local_ip);
        exit(1);
      }
    }
    
    if(!strcmp(argv[argi], "-srv")) {
      if((++argi) < argc) {
        G_service_username = argv[argi];
      } else {
        usage(argv[0],sip_local_ip);
        exit(1);
      }
    }

    if(!strcmp(argv[argi], "-cps")) {
      if((++argi) < argc) {
        G_cps  = atol(argv[argi]);
      } else {
        usage(argv[0],sip_local_ip);
        exit(1);
      }
    }

    if(!strcmp(argv[argi], "-s")) {
      if((++argi) < argc) {
        G_sleep  = atol(argv[argi]);
      } else {
        usage(argv[0],sip_local_ip);
        exit(1);
      }
    }

    if(!strcmp(argv[argi], "-re")) {
      if((++argi) < argc) {
        G_sleep    = atol(argv[argi]);
        G_reinvite = 1;
      } else {
        usage(argv[0],sip_local_ip);
        exit(1);
      }
    }

    if(!strcmp(argv[argi], "-cl")) {
      if((++argi) < argc) {
        G_closeMode  = atol(argv[argi]);
      } else {
        usage(argv[0],sip_local_ip);
        exit(1);
      }
    }
    
    if(!strcmp(argv[argi], "-n")) {
      if((++argi) < argc) {
        L_nbcall = atol(argv[argi]);
      } else {
        usage(argv[0],sip_local_ip);
        exit(1);
      }
    }

    if(!strcmp(argv[argi], "-np")) {
      if((++argi) < argc) {
        L_nbProbe  = atol(argv[argi]);
      } else {
        usage(argv[0],sip_local_ip);
        exit(1);
      }
    }

    if(!strcmp(argv[argi], "-d")) {
      if((++argi) < argc) {
        L_delayBeforeActivate = atol(argv[argi]);
      } else {
        usage(argv[0],sip_local_ip);
        exit(1);
      }
    }
    
    if(!strcmp(argv[argi], "-re")) {
      if((++argi) < argc) {
        L_numberOfRepeat = atol(argv[argi]);
      } else {
        usage(argv[0],sip_local_ip);
        exit(1);
      }
    }


    if(!strcmp(argv[argi], "-ff")) {
      if((++argi) < argc) {
        param_ff = argv[argi];
      } else {
        usage(argv[0],sip_local_ip);
        exit(1);
      }
    }

    if(!strcmp(argv[argi], "-pm")) {
      if((++argi) < argc) {
        L_ProbeManagerName = argv[argi];
      } else {
        usage(argv[0],sip_local_ip);
        exit(1);
      }
    }
    if(!strcmp(argv[argi], "-ro")) {
      if((++argi) < argc) {
        L_role = argv[argi];
      } else {
        usage(argv[0],sip_local_ip);
        exit(1);
      }
    }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美精品一区| 成人午夜大片免费观看| 亚洲欧美日韩在线不卡| 久久色在线观看| 国产农村妇女精品| 日本一区二区免费在线观看视频| 国产日韩高清在线| 国产精品无圣光一区二区| 中文字幕一区日韩精品欧美| 日韩毛片在线免费观看| 伊人开心综合网| 日本中文字幕一区| 麻豆国产精品777777在线| 亚洲自拍偷拍av| 日韩成人av影视| 日本最新不卡在线| 国产电影一区二区三区| 色噜噜狠狠成人网p站| 欧美日韩一本到| 欧美精品一区二区三区蜜桃视频| 久久男人中文字幕资源站| 中文字幕亚洲一区二区av在线| 一区二区三区中文字幕电影| 日韩精品一级中文字幕精品视频免费观看 | 91精品国产91久久久久久最新毛片 | 成人免费三级在线| 欧美在线观看一二区| 91麻豆免费视频| 日韩一区二区在线观看| 国产精品视频九色porn| 午夜av一区二区三区| 国产麻豆成人传媒免费观看| 一本色道久久综合精品竹菊| 国产精品久久久久久久久动漫 | 国产一区二区不卡| 99久久99久久精品免费观看| 欧美一区国产二区| 亚洲丝袜精品丝袜在线| 精品一区二区在线看| 在线欧美日韩精品| 久久久www免费人成精品| 亚洲国产成人av| 成人高清免费在线播放| 91精品国产高清一区二区三区| 国产欧美视频一区二区三区| 丝袜美腿亚洲一区| 在线视频一区二区免费| 国产欧美日韩精品a在线观看| 日韩黄色在线观看| 91麻豆免费观看| 中文幕一区二区三区久久蜜桃| 日韩国产在线观看一区| 91成人网在线| 亚洲伦理在线精品| 成人av资源在线观看| 日韩一区二区三| 亚洲国产aⅴ天堂久久| 成人97人人超碰人人99| 国产午夜精品理论片a级大结局| 天天色天天操综合| 在线视频国内自拍亚洲视频| 国产欧美日韩精品a在线观看| 久久国产生活片100| 欧美一区二区三区在线电影| 亚洲第一成人在线| 91麻豆国产在线观看| **性色生活片久久毛片| 成人黄色综合网站| 欧美国产一区二区在线观看| 国产剧情一区二区| 精品av久久707| 激情五月激情综合网| 欧美r级电影在线观看| 美国十次了思思久久精品导航| 日韩一区二区三区在线| 蜜桃精品视频在线观看| 精品卡一卡二卡三卡四在线| 国产精品综合一区二区| 久久影视一区二区| 国产一区二区三区久久久| 欧美日韩国产123区| 日韩电影在线免费看| 欧美v亚洲v综合ⅴ国产v| 免费成人结看片| 欧美精品一区二区三区在线播放| 国产精品乡下勾搭老头1| 欧美激情一区二区三区在线| 97aⅴ精品视频一二三区| 一区二区三区在线观看欧美| 欧美日韩在线播放三区四区| 日韩精品国产欧美| 日韩亚洲欧美成人一区| 国产精品一区二区你懂的| 国产欧美精品一区二区三区四区| 成人免费视频视频在线观看免费 | 欧美日韩1234| 精品亚洲免费视频| 国产精品久久久久婷婷二区次| 91美女视频网站| 老司机午夜精品| 国产精品每日更新| 欧美麻豆精品久久久久久| 精品中文av资源站在线观看| 中文字幕五月欧美| 91精品婷婷国产综合久久| 国产精品一级在线| 一区二区三区日韩精品| 欧美精品一区二区三区蜜桃视频| 成人免费看视频| 视频精品一区二区| 国产精品久久午夜夜伦鲁鲁| 91精品国产综合久久久久| 成人黄色在线视频| 美女免费视频一区| 亚洲精品国产一区二区精华液 | 日本三级韩国三级欧美三级| 国产日韩欧美在线一区| 欧美日韩视频第一区| 丰满白嫩尤物一区二区| 美女在线视频一区| 伊人色综合久久天天人手人婷| 久久蜜臀精品av| 欧美疯狂性受xxxxx喷水图片| av一区二区三区| 久久精品国产免费| 日韩中文字幕一区二区三区| 中文字幕一区二区三区不卡在线| 在线电影欧美成精品| 97久久精品人人爽人人爽蜜臀| 精品一区二区三区欧美| 亚洲第一成年网| 亚洲影院理伦片| 亚洲色图19p| 亚洲欧洲日韩一区二区三区| 久久先锋资源网| 精品国产网站在线观看| 欧美一级久久久| 欧美高清性hdvideosex| 在线观看视频91| 色婷婷亚洲精品| 91在线观看污| 99久久er热在这里只有精品15| 成人免费福利片| eeuss鲁片一区二区三区在线看| 国内久久婷婷综合| 国产福利一区二区三区视频 | 91麻豆福利精品推荐| 国产成人在线观看免费网站| 国产精品一区二区你懂的| 国产乱码精品一品二品| 黄色精品一二区| 国产在线精品一区二区不卡了 | 99国产精品久久久久久久久久久| 国产盗摄一区二区三区| 成人在线视频首页| 成人的网站免费观看| 99视频精品在线| 色综合天天综合网天天看片| 色老汉av一区二区三区| 欧美日韩一区二区三区四区| 7777精品伊人久久久大香线蕉的| 欧美色大人视频| 91精选在线观看| 久久天天做天天爱综合色| 亚洲国产成人在线| 亚洲免费成人av| 免费一区二区视频| 国产电影一区在线| 一本久久a久久免费精品不卡| 在线亚洲一区二区| 日韩三级高清在线| 久久久美女艺术照精彩视频福利播放| 亚洲国产经典视频| 亚洲二区视频在线| 国产美女在线观看一区| 97se狠狠狠综合亚洲狠狠| 欧美日韩卡一卡二| 久久一区二区三区国产精品| 亚洲色图制服丝袜| 日本女人一区二区三区| 成人黄色小视频| 在线不卡免费欧美| 国产精品入口麻豆原神| 亚州成人在线电影| 国产91精品露脸国语对白| 在线观看欧美精品| 精品国产乱码久久久久久夜甘婷婷| 国产精品视频你懂的| 亚洲成av人片在www色猫咪| 国产乱码精品一区二区三区五月婷 | 色婷婷精品久久二区二区蜜臂av | 国产在线精品一区二区不卡了| 99精品视频免费在线观看| 欧美一二三四在线| 日韩一区中文字幕| 蜜臂av日日欢夜夜爽一区| 91成人在线免费观看| 亚洲国产精品成人久久综合一区| 免费欧美日韩国产三级电影| 91日韩精品一区|