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

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

?? ua_main.cpp

?? 改進(jìn)后的SIP SERVICE API
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
// System include files
#include <signal.h>
#include <memory>
#include <pthread.h>
#include <strings.h>
#include <arpa/inet.h>
#include <stdlib.h>
#include <unistd.h>
#ifdef __hpux
#include <sys/mpctl.h>
#endif //__hpux

// SIP include files
#include "sip_api.h"
#include "mgt_api.h"
#include "SIP_Scheduler.h"
#include "SIP_Probe.h"
#include "SIP_ProbeManager.h"
#include "UA_AppProbe.hpp"
#include "UA_Service.hpp"
#include "UA_Session.hpp"
#include "SIP_AppProbeManager.h"

// Application include files
#include <string>
#include <vector> 
#include <iostream>


#ifdef __linux__
#include <sys/errno.h>

hrtime_t gethrtime() //return time in ns
{
  hrtime_t L_time = 0;
  u_int64_t L_buff=0;
  struct timeval L_tv;
  gettimeofday(&L_tv,0);
  L_buff=L_tv.tv_usec;
  L_buff= L_buff*1000;
  L_time += L_buff;
  L_buff=L_tv.tv_sec;
  L_buff= L_buff*1000000000;
  L_time += L_buff;
  return L_time;
}

#endif //__linux__

// global variables

#define NUM_OF_TH 255
 
int                                 G_reply;
int                                 G_time_wait;
int                                 G_trace;
hrtime_t                            G_sleep;
int                                 G_cps;
int                                 G_closeMode;
std::vector<UA_AppProbe*>           L_probeTab;
std::vector<UA_AppProbe*>::iterator L_probeTabIterator;
hrtime_t                            time_v;
int                                 L_nbProbe;
std::string                         L_target;
pthread_t                           pthread_id[NUM_OF_TH];
timeval                             G_jamMachineTimeout;
int                                 L_nbSenderThread;
int                                 G_Buggy_terminated=0;
int                                 G_destroy_on_unsubscribe=0;
int                                 G_snn_option=0;
int                                 G_subscribe=0;
int                                 G_new_call=0;
int                                 G_expires=0;
int                                 G_multiple_ta=0;
int                                 G_refer=0;
std::string                         G_referTo;
int                                 G_stateless_bye = 0;
int                                 G_stateless_messages = 0;
int                                 G_reinvite = 0;
char                              * G_service_username;
int                                 G_portNumber;
int				    G_blockingMode = false;
int				    G_nfinishedCalls = 0;
int                                 G_silent = 0;
sip_msg_uri_t                     * G_redir = 0;
int                                 G_server_close = 0;

void jamMachine (bool P_blockingMode)
{
  printf("New thread created\n");
  do 
    {
      if (!L_probeTab.empty()) 
        {
          time_v = gethrtime();
          UA_AppProbe* L_appProbe = L_probeTab[time_v%L_nbProbe];
          if (L_appProbe->getState() != SIP_PROBE_ACTIVE)
            L_appProbe->getProbe().stateChange(SIP_PROBE_ACTIVE);
          for (int i = G_cps/(5*L_nbSenderThread);i>=0;i--)
            {
              if(!G_stateless_bye) {
                L_appProbe->initOrReinitSession(L_target,
                                                &L_appProbe->getService(),
                                                NULL);
              } else {
                char L_CallID[20];
                sprintf(L_CallID, "%lu_%d", pthread_self(),i);

                L_appProbe->statelessRequest(L_target,
                                             &L_appProbe->getService(),
                                             SIP_MSG_BYE,
                                             NULL,
                                             L_CallID);
              }
              if (G_trace == 1) {
                printf("New call initiated by thread %d\n", pthread_self());
              }
              
            }
        }
      if (P_blockingMode)
        {
          select(0,0,0,0,&G_jamMachineTimeout);	
        }
    }while (P_blockingMode);
}

void lp_provision(int             AI_probe_index,
                  char          * AP_className,
                  char          * AP_appli_name,
                  char          * AP_probe,
                  char          * AP_username_info)
{
  char         VP_le[20];
  char         VP_lp[20];
  char         VA_path[1024];	
  mgt_status_t VI_status;
  
  sprintf(VP_le,"%s_LE", AP_probe);
  sprintf(VP_lp,"LP%d", AI_probe_index+1);
  
  printf("Provisionning listenning Point '%s':\n", VP_lp);
  
  sprintf(VA_path, "/%s@%s/SAPs/%s/LPs/%s/UserInfo",
          AP_className,
          AP_appli_name, AP_probe, VP_lp);
  printf("  %s = '%s'.\n", VA_path, AP_username_info);
  
  VI_status = mgt_provision("SIP",
                            VA_path,
                            MGT_PROV_STRING,
                            (void *)AP_username_info,
                            80,
                            NULL);
  if (VI_status != MGT_NORMAL) {
    printf("Error in provisioning Userinfo\n");
    exit(1);
  }
  

  sprintf(VA_path, "/%s@%s/SAPs/%s/LPs/%s/LEname",
          AP_className,
          AP_appli_name, AP_probe, VP_lp);
  printf("  %s = '%s'.\n", VA_path, VP_le);
  
  VI_status = mgt_provision("SIP",
                            VA_path,
                            MGT_PROV_STRING,
                            (void *)VP_le,
                            80,
                            NULL);
  if (VI_status != MGT_NORMAL) {
    printf("Error in provisioning LE name\n");
    exit(1);
  }
}

void ta_provision(int               AI_probe_index,
                  char            * AP_className,
                  char            * AP_appli_name,
                  char            * AP_probe,
                  char            * AP_addr,
                  int               AI_port,
                  SIP_TransportType AE_protocol)
{
  char         VP_le[20];
  char         VP_ta[20];
  char         VA_path[1024];
  char       * VP_protocol;
  mgt_status_t VI_status;
  
  if (AE_protocol == SIP_TRANSPORT_TCP) {
    VP_protocol = (char *)"TCP";
  } else {
    VP_protocol = (char *)"UDP";
  }

  sprintf(VP_le,"%s_LE", AP_probe);
  sprintf(VP_ta,"TA_%s_%d", VP_protocol, AI_port);
  
  
  // TA/LE Provisionning
  printf("Provisionning Transport Address '%s':\n",VP_ta);

  sprintf(VA_path, "/%s@%s/LEs/%s/TAs/%s/Address",
          AP_className,
          AP_appli_name, VP_le, VP_ta);
  printf("  %s = '%s'.\n", VA_path, AP_addr);
  
  VI_status = mgt_provision("SIP",
                            VA_path,
                            MGT_PROV_STRING,
                            (void *)AP_addr,
                            80,
                            NULL);
  if (VI_status != MGT_NORMAL) {
    printf("Error in provisioning Address\n");
    exit(1);
  }
  
  sprintf(VA_path, "/%s@%s/LEs/%s/TAs/%s/Port",
          AP_className,
          AP_appli_name, VP_le, VP_ta);
  printf("  %s = %d.\n", VA_path, AI_port);
    
  VI_status = mgt_provision("SIP",
                            VA_path,
                            MGT_PROV_UINT,
                            (void *)(&AI_port),
                            sizeof(unsigned short),
                            NULL);
  if (VI_status != MGT_NORMAL) {
    printf("Error in provisioning Port\n");
    exit(1);
  }
  
  sprintf(VA_path, "/%s@%s/LEs/%s/TAs/%s/Protocol",
          AP_className,
          AP_appli_name, VP_le, VP_ta);
  printf("  %s = '%s'.\n", VA_path, VP_protocol);
  
  VI_status = mgt_provision("SIP",
                            VA_path,
                            MGT_PROV_STRING,
                            VP_protocol,
                            80,
                            NULL);
  if (VI_status != MGT_NORMAL) {
    printf("Error in provisioning Protocol\n");
    exit(1);
  }
}

void misc_provision(int               AI_probe_index,
                    char            * AP_className,
                    char            * AP_appli_name,
                    char            * AP_probe,
                    int               VB_stateless,
                    int               VB_destructive_mode,
                    int               VB_trans_deleted_event)
{
  char         VP_le[20];
  char         VA_path[1024];
  mgt_status_t VI_status;
  mgt_bool_t   VB_true = MGT_TRUE;
  int          VI_true = 1;

  printf("enter in misc_provision\n");
  sprintf(VP_le,"%s_LE", AP_probe);

  if(VB_stateless) {
    printf("in VB_stateless\n");
    printf("Provisionning stateless mode:\n");
    sprintf(VA_path, "/%s@%s/LEs/%s/CallHandling/AllowCallStatelessMessages",
            AP_className,
            AP_appli_name, VP_le);
    
    printf("  %s = 'true'.\n", VA_path);
    
    VI_status = mgt_provision("SIP",
                              VA_path,
                              MGT_PROV_BOOL,
                              (void *)&VB_true,
                              sizeof(VB_true),
                              NULL);
    if (VI_status != MGT_NORMAL) {
      printf("Error in provisioning LE call stateless mode\n");
      exit(1);
    }
  }
      
  // Set the MGT param
  if(VB_destructive_mode)
    {
      printf("in VB_destructive_mode \n");
      printf("Provisionning automatic sesssion destruction mode:\n");

      sprintf(VA_path,
              "%s@%s/SAPs/%s/AutoSessionDestruction",
              AP_className,
              AP_appli_name,
              AP_probe);
      
      printf("  %s = '1'.\n", VA_path);

      mgt_provision
        ("SIP",                           /* domain_name    IN               */
         VA_path,                         /* Attribute name                  */
         MGT_PROV_INT,                    /* MGT_PROV_ entity_type,   IN     */
         (void*)&VI_true,                 /* value,         IN/OUT           */
         sizeof(VI_true),                 /* size,          IN               */
         NULL);                           /* trp_info       IN               */
    }
      
  // Set the MGT param
  if(VB_trans_deleted_event)
    {
      printf("in VB_trans_deleted_event\n");
      printf("Provisionning transaction deleted event mode:\n");

      sprintf(VA_path,
              "%s@%s/SAPs/%s/TransactionDeletedEvent",
              AP_className,
              AP_appli_name,
              AP_probe);
      
      printf("  %s = '1'.\n", VA_path);

      mgt_provision
        ("SIP",                           /* domain_name    IN               */
         VA_path,                         /* Attribute name                  */
         MGT_PROV_INT,                    /* MGT_PROV_ entity_type,   IN     */
         (void*)&VI_true,                 /* value,         IN/OUT           */
         sizeof(VI_true),                 /* size,          IN               */
         NULL);                           /* trp_info       IN               */
    }
}


void usage(char * exe_name, char * ip_add)
{
  fprintf
    (stderr, 
     "\nUsage: %s [options]\n"
     "\n"
     "  Without options, starts a default UAS on standard 5060 UDP port with\n"
     "  servicename 'service'. Various options allows to start UAC mode and,\n"
     "  or activate various protocol options.\n"
     "\n"
     "  Options:\n"
     "  --------\n"
     "\n"
     "    -h:            Displays this help screen\n"
     "\n"
     "    -l sip:username@IP:port:\n"
     "\n"
     "                   The local server to bind (default is\n"
     "                   sip:service@%s:5060)\n"
     "\n"
     "    -p port:       Overides the default port number used locally.\n"
     "\n"
     "    -srv username: Overides the default username used locally.\n"
     "\n"
     "    -v:            Verbose mode, activates minimal tracing\n"
     "\n"
     "    -mgt name:     Management (GMF) className\n"
     "\n"
     "    -n nb_call:    Number of calls before exiting (default is 1).\n"
     "\n"
     "    -ubs:          Triggers a unbind/bind of the service at"
     "                   nb_call/2.\n"
     "\n"
     "    -ubp:          Unbind probe at the end of test.\n"
     "\n"
     "    -np nb_probes: Number of listening probes.\n" 
     "\n" 
     "    -silent:       Silent mode. Only prints a counter every 1000\n"
     "                   sessions.\n" 
     "\n" 
#ifdef __hpux
     "    -cpu cpu_id:   Set CPU affinity on SMP HPUX machines.\n" 
     "\n" 
#endif
     "    -sd:           Set the AutoSessionDestruction management \n" 
     "                   parameter to true. This triggers automatic session\n" 
     "                   destruction from the stack.\n" 
     "\n" 
     "    -st:           Set the TransactionDeletedEvent management \n" 
     "                   parameter to true. This triggers automatic \n" 
     "                   delivery of transaction deleted events.\n" 
     "\n" 
     "    -ff name:      Specifies the name of an alternative filter-\n" 
     "                   formater library (default is 'defaultFF', which\n"
     "                   is embeded in the stack).\n" 
     "\n" 
     "    -pm name:      Sets the ProbeManager name. Use this option to\n" 
     "                   select an entry for tracing in debug.conf.\n" 
     "\n" 
     "    -mp:           Manual provisionning: Do not use the probe\n" 
     "                   constructor to provision mandatory MGT parameters,\n" 
     "                   use mgt_provision instead.\n" 
     "\n" 
     "    -mp2ta:        Same as -mp but provision 2 TAs per LP.\n" 
     "\n" 
     "    -ro role:      The Role may be UA, B2BController or B2BProxy \n" 
     "                   default is UA.\n" 
     "\n" 
     "    -st:           Allows stateless messages (Sets the \n"
     "                   .../CallHandling/AllowCallStatelessMessages \n"
     "                   management boolean parameter). This option is\n"
     "                   mainly intended for the UAS. When set, the UAS\n"
     "                   replies 200 OK to a stateless BYE request.\n"
     "\n" 
     "    -startbusy:    Start state is busy.\n"
     "\n" 
     "    -noservice:    Start without service bound.\n"
     "\n" 
     "    -smd:          Select minimal delay in ms between 2 calls.\n"
     "\n" 
     "    -cl scenario:  Close secnario (default is 0):\n"
     "\n" 
     "                     0: currentDialogMustBeClosed() message method,\n"
     "                     1: destroySession Probe API routine,\n"
     "                     2: BYE request.\n"
     "\n" 
     "  UAS options:\n"
     "  ------------\n" 
     "\n" 
     "    -r scenario:   UAS reply secnario (Default is 1):\n"
     "\n" 
     "                     1: (180 + 200),\n"
     "                     2: (200).\n"
     "                     3: (3xx),\n"
     "\n"
     "    -redir URI:    Redirect address used for contact header in 302\n"
     "                   responses. This option automatically activates\n" 
     "                   scenario -r 3.\n" 
     "\n" 
     "    -t delay:      Time in seconds between Ringing and Ack rsp\n"
     "                   (default is 0).\n" 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区视频在线| 欧美亚洲综合色| 亚洲欧美日韩国产综合在线| 欧美伦理视频网站| 成人免费视频caoporn| 亚洲自拍偷拍欧美| 日韩欧美综合在线| 国产成人aaa| 亚洲妇女屁股眼交7| 国产精品热久久久久夜色精品三区| 欧美日韩国产精选| 不卡区在线中文字幕| 五月综合激情婷婷六月色窝| 久久久久九九视频| 欧美日韩激情一区二区三区| 韩国精品一区二区| 亚洲福利一区二区| 亚洲欧洲精品一区二区精品久久久| 欧美日韩aaaaa| 国产suv精品一区二区883| 日韩av电影一区| 国产精品久久99| 国产精品久久久久久久久果冻传媒 | 亚洲精品一区二区三区影院| 一本久久综合亚洲鲁鲁五月天| 国产精品一区二区免费不卡| 日本特黄久久久高潮| 亚洲综合久久av| 亚洲欧美乱综合| 最新国产精品久久精品| 国产视频亚洲色图| 精品久久人人做人人爰| 91精品综合久久久久久| 91久久精品一区二区三区| 国产成人在线视频网址| 国产一区二区调教| 六月丁香婷婷色狠狠久久| 亚洲国产精品久久久男人的天堂 | 日本欧美加勒比视频| 无码av中文一区二区三区桃花岛| 一区二区三区在线看| 亚洲猫色日本管| 日韩美女视频一区二区| 中文幕一区二区三区久久蜜桃| 国产亚洲一区二区三区在线观看| 久久天堂av综合合色蜜桃网| 欧美大片在线观看一区| 精品88久久久久88久久久| 精品久久久久久亚洲综合网| www亚洲一区| 日本一区二区视频在线| 国产麻豆视频精品| 国产精品一级片| 成人h精品动漫一区二区三区| 波多野结衣欧美| 一本到高清视频免费精品| 色综合久久综合中文综合网| 色偷偷一区二区三区| 一本大道久久a久久综合| 在线中文字幕一区| 日韩午夜精品电影| 久久久精品tv| 亚洲欧洲在线观看av| 亚洲自拍与偷拍| 麻豆91在线看| 国产盗摄女厕一区二区三区| 99精品视频在线免费观看| 欧美性xxxxx极品少妇| 日韩一级完整毛片| 国产色产综合产在线视频| 日韩理论电影院| 午夜av一区二区| 国产激情91久久精品导航| 99精品一区二区| 555www色欧美视频| 精品久久国产字幕高潮| 一区精品在线播放| 天天色综合成人网| 国产一区二区三区美女| 91视频精品在这里| 日韩欧美亚洲一区二区| 国产精品国产成人国产三级| 亚洲国产综合在线| 国产一区二区三区免费| 欧美艳星brazzers| 久久久久久久久久久久久女国产乱| 中文字幕在线一区免费| 日韩av中文字幕一区二区三区| 国产精品综合一区二区三区| 99riav一区二区三区| 日韩精品一区在线| 亚洲乱码中文字幕综合| 美国三级日本三级久久99| 白白色 亚洲乱淫| 日韩限制级电影在线观看| 亚洲视频1区2区| 国内精品写真在线观看| 欧美伊人精品成人久久综合97| 2020国产精品| 午夜欧美在线一二页| 成人免费视频一区| 精品久久久三级丝袜| 亚洲午夜在线电影| 国产ts人妖一区二区| 日韩午夜激情av| 亚洲自拍偷拍图区| 成人app下载| 精品成人私密视频| 日韩专区欧美专区| 日本福利一区二区| 欧美国产日本视频| 久久国产精品无码网站| 欧美视频一区二区在线观看| 中文乱码免费一区二区| 国产老肥熟一区二区三区| 91精品蜜臀在线一区尤物| 亚洲色欲色欲www在线观看| 国产999精品久久| 欧美成人女星排行榜| 日韩福利视频导航| 亚洲图片一区二区| 97久久超碰国产精品电影| 久久久噜噜噜久久中文字幕色伊伊 | 91成人在线精品| 亚洲欧美日韩国产中文在线| 春色校园综合激情亚洲| 欧美videos大乳护士334| 日本最新不卡在线| 在线播放日韩导航| 午夜国产不卡在线观看视频| 欧美在线观看视频在线| 亚洲精品日韩专区silk| 91网站黄www| 国产精品久久综合| 成人av电影观看| 欧美国产欧美综合| 国产成人高清视频| 国产精品萝li| 99国产欧美久久久精品| 中文字幕日韩一区二区| 91欧美一区二区| 亚洲乱码一区二区三区在线观看| 北条麻妃国产九九精品视频| 成人欧美一区二区三区黑人麻豆| 成人动漫中文字幕| 亚洲欧美日韩人成在线播放| 91看片淫黄大片一级| 亚洲精品欧美综合四区| 欧美中文字幕久久| 日一区二区三区| 日韩欧美高清dvd碟片| 国产剧情av麻豆香蕉精品| 欧美国产综合色视频| 91视频观看视频| 亚洲亚洲人成综合网络| 欧美一区二区精美| 国产麻豆一精品一av一免费 | 亚洲gay无套男同| 日韩一级完整毛片| 国产精品一品二品| 1024成人网| 欧美精品18+| 极品少妇xxxx偷拍精品少妇| 国产喂奶挤奶一区二区三区| 91免费观看在线| 日韩激情中文字幕| 久久精品欧美日韩精品| 91麻豆产精品久久久久久 | 亚洲国产精品一区二区久久| 91精品国产91久久综合桃花 | 在线观看日韩高清av| 日本不卡中文字幕| 亚洲国产精品t66y| 欧美日韩高清一区二区| 国产综合久久久久影院| 中文字幕五月欧美| 欧美一区二区三区四区五区| 成人妖精视频yjsp地址| 香港成人在线视频| 欧美激情一区二区三区在线| 欧美日韩色综合| 国产一区二区三区久久久 | 久久国产三级精品| 中文字幕在线一区免费| 在线不卡免费欧美| 成人黄色片在线观看| 亚洲国产wwwccc36天堂| 久久先锋影音av鲁色资源| 国产精品国产三级国产普通话99 | 久久综合av免费| 色综合久久88色综合天天6| 男男gaygay亚洲| 中文字幕一区日韩精品欧美| 欧美精品v国产精品v日韩精品| 成人小视频在线| 久久精品99久久久| 亚洲午夜久久久久久久久电影网 | 精品1区2区3区| 国产成人亚洲综合色影视| 亚洲成人www|