diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c4bf449 --- /dev/null +++ b/.gitignore @@ -0,0 +1,46 @@ +# Prerequisites +*.d + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod +*.smod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + +# build +build/** +docker/xml/demo_server.xml +docker/xml/*.xml +CMakeFiles/** +CMakeCache.txt +cmake_install.cmake +Makefile +.vscode/** + +## testing result +/load_test/*.json +/load_test/*.pjsua diff --git a/.gitmodules b/.gitmodules index 9008cdf..9afd760 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,4 @@ [submodule "pjproject"] path = pjproject - url = https://github.com/jchavanton/pjproject.git + url = https://github.com/pjsip/pjproject + branch = master diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..525b819 --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,24 @@ +{ + "configurations": [ + { + "name": "Mac", + "includePath": [ + "${workspaceFolder}/**", + "${workspaceFolder}/pjproject/pjlib/include", + "${workspaceFolder}/pjproject/pjlib-util/include", + "/Users/ntuan1/vcpkg/installed/arm64-osx/include/openssl", + "/Users/ntuan1/vcpkg/installed/arm64-osx/include" + ], + "defines": [], + "macFrameworkPath": [ + "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks" + ], + "compilerPath": "/usr/bin/clang", + "cStandard": "c17", + "cppStandard": "c++17", + "intelliSenseMode": "macos-clang-arm64", + "configurationProvider": "ms-vscode.cmake-tools" + } + ], + "version": 4 +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..126e892 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,8 @@ +{ + "files.associations": { + "rsa.h": "c", + "err.h": "c", + "bn.h": "c" + }, + "cmake.cmakePath": "/opt/homebrew/bin/cmake" +} \ No newline at end of file diff --git a/CMakeCache.txt b/CMakeCache.txt new file mode 100644 index 0000000..1a45d54 --- /dev/null +++ b/CMakeCache.txt @@ -0,0 +1,495 @@ +# This is the CMakeCache file. +# For build in directory: /home/azureuser/voip_patrol +# It was generated by CMake: /usr/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line + +//Path to a program. +CMAKE_AR:FILEPATH=/usr/bin/ar + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING= + +//Enable/Disable color output during build. +CMAKE_COLOR_MAKEFILE:BOOL=ON + +//CXX compiler +CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-11 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-11 + +//Flags used by the CXX compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the CXX compiler during DEBUG builds. +CMAKE_CXX_FLAGS_DEBUG:STRING=-g + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the CXX compiler during RELEASE builds. +CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//C compiler +CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-11 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-11 + +//Flags used by the C compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the C compiler during DEBUG builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the C compiler during RELEASE builds. +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker during all build types. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//Path to a program. +CMAKE_LINKER:FILEPATH=/usr/bin/ld + +//Path to a program. +CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake + +//Flags used by the linker during the creation of modules during +// all build types. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/usr/bin/nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=voip_patrol + +//Value Computed by CMake +CMAKE_PROJECT_VERSION:STATIC=1.0.0 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_MAJOR:STATIC=1 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_MINOR:STATIC=0 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_PATCH:STATIC=0 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_TWEAK:STATIC= + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/usr/bin/readelf + +//Flags used by the linker during the creation of shared libraries +// during all build types. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=/usr/bin/strip + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Arguments to supply to pkg-config +PKG_CONFIG_ARGN:STRING= + +//pkg-config executable +PKG_CONFIG_EXECUTABLE:FILEPATH=/usr/bin/pkg-config + +//Path to a library. +pkgcfg_lib_OPENSSL_crypto:FILEPATH=/usr/lib/x86_64-linux-gnu/libcrypto.so + +//Path to a library. +pkgcfg_lib_OPENSSL_ssl:FILEPATH=/usr/lib/x86_64-linux-gnu/libssl.so + +//Value Computed by CMake +voip_patrol_BINARY_DIR:STATIC=/home/azureuser/voip_patrol + +//Value Computed by CMake +voip_patrol_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +voip_patrol_SOURCE_DIR:STATIC=/home/azureuser/voip_patrol + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/home/azureuser/voip_patrol +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=22 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=1 +//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE +CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/usr/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Unix Makefiles +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/home/azureuser/voip_patrol +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MAKE_PROGRAM +CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.22 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//Details about finding PkgConfig +FIND_PACKAGE_MESSAGE_DETAILS_PkgConfig:INTERNAL=[/usr/bin/pkg-config][v0.29.2()] +OPENSSL_CFLAGS:INTERNAL= +OPENSSL_CFLAGS_I:INTERNAL= +OPENSSL_CFLAGS_OTHER:INTERNAL= +OPENSSL_FOUND:INTERNAL=1 +OPENSSL_INCLUDEDIR:INTERNAL=/usr/include +OPENSSL_INCLUDE_DIRS:INTERNAL= +OPENSSL_LDFLAGS:INTERNAL=-L/usr/lib/x86_64-linux-gnu;-lssl;-lcrypto +OPENSSL_LDFLAGS_OTHER:INTERNAL= +OPENSSL_LIBDIR:INTERNAL=/usr/lib/x86_64-linux-gnu +OPENSSL_LIBRARIES:INTERNAL=ssl;crypto +OPENSSL_LIBRARY_DIRS:INTERNAL=/usr/lib/x86_64-linux-gnu +OPENSSL_LIBS:INTERNAL= +OPENSSL_LIBS_L:INTERNAL= +OPENSSL_LIBS_OTHER:INTERNAL= +OPENSSL_LIBS_PATHS:INTERNAL= +OPENSSL_MODULE_NAME:INTERNAL=openssl +OPENSSL_PREFIX:INTERNAL=/usr +OPENSSL_STATIC_CFLAGS:INTERNAL= +OPENSSL_STATIC_CFLAGS_I:INTERNAL= +OPENSSL_STATIC_CFLAGS_OTHER:INTERNAL= +OPENSSL_STATIC_INCLUDE_DIRS:INTERNAL= +OPENSSL_STATIC_LDFLAGS:INTERNAL=-L/usr/lib/x86_64-linux-gnu;-lssl;-lcrypto;-ldl;-pthread +OPENSSL_STATIC_LDFLAGS_OTHER:INTERNAL=-pthread +OPENSSL_STATIC_LIBDIR:INTERNAL= +OPENSSL_STATIC_LIBRARIES:INTERNAL=ssl;crypto;dl +OPENSSL_STATIC_LIBRARY_DIRS:INTERNAL=/usr/lib/x86_64-linux-gnu +OPENSSL_STATIC_LIBS:INTERNAL= +OPENSSL_STATIC_LIBS_L:INTERNAL= +OPENSSL_STATIC_LIBS_OTHER:INTERNAL= +OPENSSL_STATIC_LIBS_PATHS:INTERNAL= +OPENSSL_VERSION:INTERNAL=3.0.2 +OPENSSL_openssl_INCLUDEDIR:INTERNAL= +OPENSSL_openssl_LIBDIR:INTERNAL= +OPENSSL_openssl_PREFIX:INTERNAL= +OPENSSL_openssl_VERSION:INTERNAL= +OPUS_CFLAGS:INTERNAL= +OPUS_CFLAGS_I:INTERNAL= +OPUS_CFLAGS_OTHER:INTERNAL= +OPUS_FOUND:INTERNAL= +OPUS_INCLUDEDIR:INTERNAL= +OPUS_LIBDIR:INTERNAL= +OPUS_LIBS:INTERNAL= +OPUS_LIBS_L:INTERNAL= +OPUS_LIBS_OTHER:INTERNAL= +OPUS_LIBS_PATHS:INTERNAL= +OPUS_MODULE_NAME:INTERNAL= +OPUS_PREFIX:INTERNAL= +OPUS_STATIC_CFLAGS:INTERNAL= +OPUS_STATIC_CFLAGS_I:INTERNAL= +OPUS_STATIC_CFLAGS_OTHER:INTERNAL= +OPUS_STATIC_LIBDIR:INTERNAL= +OPUS_STATIC_LIBS:INTERNAL= +OPUS_STATIC_LIBS_L:INTERNAL= +OPUS_STATIC_LIBS_OTHER:INTERNAL= +OPUS_STATIC_LIBS_PATHS:INTERNAL= +OPUS_VERSION:INTERNAL= +OPUS_opus_INCLUDEDIR:INTERNAL= +OPUS_opus_LIBDIR:INTERNAL= +OPUS_opus_PREFIX:INTERNAL= +OPUS_opus_VERSION:INTERNAL= +//ADVANCED property for variable: PKG_CONFIG_ARGN +PKG_CONFIG_ARGN-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: PKG_CONFIG_EXECUTABLE +PKG_CONFIG_EXECUTABLE-ADVANCED:INTERNAL=1 +UUID_CFLAGS:INTERNAL= +UUID_CFLAGS_I:INTERNAL= +UUID_CFLAGS_OTHER:INTERNAL= +UUID_FOUND:INTERNAL= +UUID_INCLUDEDIR:INTERNAL= +UUID_LIBDIR:INTERNAL= +UUID_LIBS:INTERNAL= +UUID_LIBS_L:INTERNAL= +UUID_LIBS_OTHER:INTERNAL= +UUID_LIBS_PATHS:INTERNAL= +UUID_MODULE_NAME:INTERNAL= +UUID_PREFIX:INTERNAL= +UUID_STATIC_CFLAGS:INTERNAL= +UUID_STATIC_CFLAGS_I:INTERNAL= +UUID_STATIC_CFLAGS_OTHER:INTERNAL= +UUID_STATIC_LIBDIR:INTERNAL= +UUID_STATIC_LIBS:INTERNAL= +UUID_STATIC_LIBS_L:INTERNAL= +UUID_STATIC_LIBS_OTHER:INTERNAL= +UUID_STATIC_LIBS_PATHS:INTERNAL= +UUID_VERSION:INTERNAL= +UUID_uuid_INCLUDEDIR:INTERNAL= +UUID_uuid_LIBDIR:INTERNAL= +UUID_uuid_PREFIX:INTERNAL= +UUID_uuid_VERSION:INTERNAL= +__pkg_config_checked_OPENSSL:INTERNAL=1 +__pkg_config_checked_OPUS:INTERNAL=1 +__pkg_config_checked_UUID:INTERNAL=1 +//ADVANCED property for variable: pkgcfg_lib_OPENSSL_crypto +pkgcfg_lib_OPENSSL_crypto-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: pkgcfg_lib_OPENSSL_ssl +pkgcfg_lib_OPENSSL_ssl-ADVANCED:INTERNAL=1 +prefix_result:INTERNAL=/usr/lib/x86_64-linux-gnu + diff --git a/CMakeLists.txt b/CMakeLists.txt index 316181f..353500b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,8 @@ cmake_minimum_required(VERSION 3.2) project(voip_patrol VERSION 1.0.0 LANGUAGES C CXX) set(CMAKE_VERBOSE_MAKEFILE ON) +set(CMAKE_MACOSX_BUNDLE ON) + message("CMAKE_SYSTEM_PROCESSOR:${CMAKE_SYSTEM_PROCESSOR} CMAKE_SYSTEM:${CMAKE_SYSTEM} CMAKE_BUILD_TYPE:${CMAKE_BUILD_TYPE} OV:${OV}") @@ -47,7 +49,8 @@ set(CMAKE_LIBRARY_PATH "${ROOT_DIR}/pjproject/pjlib-util/lib" ) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -g") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -g") +#set(AC_SYSTEM "arm-apple-darwin") execute_process(COMMAND "./pjproject/config.guess" OUTPUT_VARIABLE AC_SYSTEM) string(STRIP ${AC_SYSTEM} AC_SYSTEM) @@ -77,7 +80,7 @@ target_link_libraries(voip_patrol m asound ssl - -std=c++11 + -std=c++17 ) find_package(PkgConfig REQUIRED) diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..bfcda0f --- /dev/null +++ b/Makefile @@ -0,0 +1,292 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Produce verbose output by default. +VERBOSE = 1 + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/azureuser/voip_patrol + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/azureuser/voip_patrol + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..." + /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# The main all target +all: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/azureuser/voip_patrol/CMakeFiles /home/azureuser/voip_patrol//CMakeFiles/progress.marks + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all + $(CMAKE_COMMAND) -E cmake_progress_start /home/azureuser/voip_patrol/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +#============================================================================= +# Target rules for targets named voip_patrol + +# Build rule for target. +voip_patrol: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 voip_patrol +.PHONY : voip_patrol + +# fast build rule for target. +voip_patrol/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/voip_patrol.dir/build.make CMakeFiles/voip_patrol.dir/build +.PHONY : voip_patrol/fast + +src/ezxml/ezxml.o: src/ezxml/ezxml.c.o +.PHONY : src/ezxml/ezxml.o + +# target to build an object file +src/ezxml/ezxml.c.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/voip_patrol.dir/build.make CMakeFiles/voip_patrol.dir/src/ezxml/ezxml.c.o +.PHONY : src/ezxml/ezxml.c.o + +src/ezxml/ezxml.i: src/ezxml/ezxml.c.i +.PHONY : src/ezxml/ezxml.i + +# target to preprocess a source file +src/ezxml/ezxml.c.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/voip_patrol.dir/build.make CMakeFiles/voip_patrol.dir/src/ezxml/ezxml.c.i +.PHONY : src/ezxml/ezxml.c.i + +src/ezxml/ezxml.s: src/ezxml/ezxml.c.s +.PHONY : src/ezxml/ezxml.s + +# target to generate assembly for a file +src/ezxml/ezxml.c.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/voip_patrol.dir/build.make CMakeFiles/voip_patrol.dir/src/ezxml/ezxml.c.s +.PHONY : src/ezxml/ezxml.c.s + +src/voip_patrol/action.o: src/voip_patrol/action.cc.o +.PHONY : src/voip_patrol/action.o + +# target to build an object file +src/voip_patrol/action.cc.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/voip_patrol.dir/build.make CMakeFiles/voip_patrol.dir/src/voip_patrol/action.cc.o +.PHONY : src/voip_patrol/action.cc.o + +src/voip_patrol/action.i: src/voip_patrol/action.cc.i +.PHONY : src/voip_patrol/action.i + +# target to preprocess a source file +src/voip_patrol/action.cc.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/voip_patrol.dir/build.make CMakeFiles/voip_patrol.dir/src/voip_patrol/action.cc.i +.PHONY : src/voip_patrol/action.cc.i + +src/voip_patrol/action.s: src/voip_patrol/action.cc.s +.PHONY : src/voip_patrol/action.s + +# target to generate assembly for a file +src/voip_patrol/action.cc.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/voip_patrol.dir/build.make CMakeFiles/voip_patrol.dir/src/voip_patrol/action.cc.s +.PHONY : src/voip_patrol/action.cc.s + +src/voip_patrol/check.o: src/voip_patrol/check.cc.o +.PHONY : src/voip_patrol/check.o + +# target to build an object file +src/voip_patrol/check.cc.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/voip_patrol.dir/build.make CMakeFiles/voip_patrol.dir/src/voip_patrol/check.cc.o +.PHONY : src/voip_patrol/check.cc.o + +src/voip_patrol/check.i: src/voip_patrol/check.cc.i +.PHONY : src/voip_patrol/check.i + +# target to preprocess a source file +src/voip_patrol/check.cc.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/voip_patrol.dir/build.make CMakeFiles/voip_patrol.dir/src/voip_patrol/check.cc.i +.PHONY : src/voip_patrol/check.cc.i + +src/voip_patrol/check.s: src/voip_patrol/check.cc.s +.PHONY : src/voip_patrol/check.s + +# target to generate assembly for a file +src/voip_patrol/check.cc.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/voip_patrol.dir/build.make CMakeFiles/voip_patrol.dir/src/voip_patrol/check.cc.s +.PHONY : src/voip_patrol/check.cc.s + +src/voip_patrol/mod_voip_patrol.o: src/voip_patrol/mod_voip_patrol.cc.o +.PHONY : src/voip_patrol/mod_voip_patrol.o + +# target to build an object file +src/voip_patrol/mod_voip_patrol.cc.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/voip_patrol.dir/build.make CMakeFiles/voip_patrol.dir/src/voip_patrol/mod_voip_patrol.cc.o +.PHONY : src/voip_patrol/mod_voip_patrol.cc.o + +src/voip_patrol/mod_voip_patrol.i: src/voip_patrol/mod_voip_patrol.cc.i +.PHONY : src/voip_patrol/mod_voip_patrol.i + +# target to preprocess a source file +src/voip_patrol/mod_voip_patrol.cc.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/voip_patrol.dir/build.make CMakeFiles/voip_patrol.dir/src/voip_patrol/mod_voip_patrol.cc.i +.PHONY : src/voip_patrol/mod_voip_patrol.cc.i + +src/voip_patrol/mod_voip_patrol.s: src/voip_patrol/mod_voip_patrol.cc.s +.PHONY : src/voip_patrol/mod_voip_patrol.s + +# target to generate assembly for a file +src/voip_patrol/mod_voip_patrol.cc.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/voip_patrol.dir/build.make CMakeFiles/voip_patrol.dir/src/voip_patrol/mod_voip_patrol.cc.s +.PHONY : src/voip_patrol/mod_voip_patrol.cc.s + +src/voip_patrol/voip_patrol.o: src/voip_patrol/voip_patrol.cc.o +.PHONY : src/voip_patrol/voip_patrol.o + +# target to build an object file +src/voip_patrol/voip_patrol.cc.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/voip_patrol.dir/build.make CMakeFiles/voip_patrol.dir/src/voip_patrol/voip_patrol.cc.o +.PHONY : src/voip_patrol/voip_patrol.cc.o + +src/voip_patrol/voip_patrol.i: src/voip_patrol/voip_patrol.cc.i +.PHONY : src/voip_patrol/voip_patrol.i + +# target to preprocess a source file +src/voip_patrol/voip_patrol.cc.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/voip_patrol.dir/build.make CMakeFiles/voip_patrol.dir/src/voip_patrol/voip_patrol.cc.i +.PHONY : src/voip_patrol/voip_patrol.cc.i + +src/voip_patrol/voip_patrol.s: src/voip_patrol/voip_patrol.cc.s +.PHONY : src/voip_patrol/voip_patrol.s + +# target to generate assembly for a file +src/voip_patrol/voip_patrol.cc.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/voip_patrol.dir/build.make CMakeFiles/voip_patrol.dir/src/voip_patrol/voip_patrol.cc.s +.PHONY : src/voip_patrol/voip_patrol.cc.s + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... rebuild_cache" + @echo "... voip_patrol" + @echo "... src/ezxml/ezxml.o" + @echo "... src/ezxml/ezxml.i" + @echo "... src/ezxml/ezxml.s" + @echo "... src/voip_patrol/action.o" + @echo "... src/voip_patrol/action.i" + @echo "... src/voip_patrol/action.s" + @echo "... src/voip_patrol/check.o" + @echo "... src/voip_patrol/check.i" + @echo "... src/voip_patrol/check.s" + @echo "... src/voip_patrol/mod_voip_patrol.o" + @echo "... src/voip_patrol/mod_voip_patrol.i" + @echo "... src/voip_patrol/mod_voip_patrol.s" + @echo "... src/voip_patrol/voip_patrol.o" + @echo "... src/voip_patrol/voip_patrol.i" + @echo "... src/voip_patrol/voip_patrol.s" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/QUICK_START.md b/QUICK_START.md index 3ca103a..1eb6711 100644 --- a/QUICK_START.md +++ b/QUICK_START.md @@ -37,3 +37,14 @@ docker logs voip_patrol XML_CONF[basic_server.xml] RESULT FILE[result.json] PORT[5060] Running /git/voip_patrol/voip_patrol --port 5060 --conf /xml/basic_server.xml --output /output/result.json ``` + + +### run command manually + +Start simple UDP server listen on 5060 + +`./voip_patrol --ip-addr 20.110.145.242 --port 5060 --rtp-port 20000-40000 --conf xml/basic_server.xml --output /home/azureuser/output/result.json & ` + +do the test sip call to server was initialized + +`VP_ENV_SERVER="172.190.226.226:45070" VP_ENV_CALLEE="12542724631@172.190.226.226" VP_ENV_U=12542724631 bash -c "sleep 0 && ./voip_patrol -p 32527 -c conf.xml -o perf1.json --ip-addr 20.110.145.242 --rtp-port 40257"` \ No newline at end of file diff --git a/cmake_install.cmake b/cmake_install.cmake new file mode 100644 index 0000000..0d9bdfc --- /dev/null +++ b/cmake_install.cmake @@ -0,0 +1,54 @@ +# Install script for directory: /home/azureuser/voip_patrol + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + +if(CMAKE_INSTALL_COMPONENT) + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") +file(WRITE "/home/azureuser/voip_patrol/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/conf.xml b/conf.xml index 63cb931..e231f8a 100644 --- a/conf.xml +++ b/conf.xml @@ -6,63 +6,60 @@ --> - + + + + + + + + - + + + + - + diff --git a/conf.xml.tpl b/conf.xml.tpl new file mode 100644 index 0000000..95bb9e2 --- /dev/null +++ b/conf.xml.tpl @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docker/Dockerfile b/docker/Dockerfile index 4df2731..6cf3f46 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -21,5 +21,6 @@ RUN mkdir /xml RUN mkdir /output COPY xml/basic_server.xml /xml +COPY xml/demo_server.xml /xml COPY entry.sh / ENTRYPOINT ["/entry.sh"] diff --git a/docker/Dockerfile.arm b/docker/Dockerfile.arm new file mode 100644 index 0000000..1117387 --- /dev/null +++ b/docker/Dockerfile.arm @@ -0,0 +1,30 @@ +#FROM python:3.11.4-bullseye +#FROM arm64v8/python:3.7-slim-buster +#FROM arm64v8/python:3.7.17-buster +FROM arm64v8/python:3.11-bookworm + +ARG VERSION="feature/mac" + +RUN echo "installing dependencies" \ + && apt-get update && apt-get install -y build-essential libcurl4-openssl-dev cmake pkg-config libasound2-dev \ + && apt-get -y install libssl-dev git + +RUN echo "building VoIP Patrol" \ + && mkdir /git && cd /git && git clone https://github.com/kevinnguyenai/voip_patrol.git \ + && cd voip_patrol && git checkout ${VERSION} \ + && git submodule update --init \ + && cp include/config_site_arm.h pjproject/pjlib/include/pj/config_site.h \ + #&& ./configure --host=arm-apple-darwin --disable-libwebrtc --disable-opencore-amr && make dep && make + && cd pjproject && ./configure --host=aarch64-linux-gnu --disable-libwebrtc --disable-opencore-amr --disable-video \ + && make dep && make && make install \ + && cd .. && cmake CMakeLists.txt && make + +RUN ln -s /git/voip_patrol/voice_ref_files /voice_ref_files + +RUN mkdir /xml +RUN mkdir /output + +COPY xml/basic_server.xml /xml +COPY xml/demo_server.xml /xml +COPY entry.sh / +ENTRYPOINT ["/entry.sh"] diff --git a/docker/build_image.sh b/docker/build_image.sh index b2b3351..a5fdd52 100755 --- a/docker/build_image.sh +++ b/docker/build_image.sh @@ -1,7 +1,8 @@ #!/bin/sh TAG="0.4.0" -docker build . --no-cache -t voip_patrol -docker tag voip_patrol:latest jchavanton/voip_patrol:latest -docker tag voip_patrol:latest jchavanton/voip_patrol:${TAG} +PLATFORM="linux/amd64" +docker build . --no-cache --platform ${PLATFORM} -t voip_patrol +docker tag voip_patrol:latest ocpasia/voip_patrol:latest +docker tag voip_patrol:latest ocpasia/voip_patrol:${TAG} echo "Don't forget to push !" -echo "docker push jchavanton/voip_patrol:latest && docker push jchavanton/voip_patrol:${TAG}" +echo "docker tag voip_patrol:latest ocpasia/voip_patrol:latest && docker push ocpasia/voip_patrol:latest && docker push ocpasia/voip_patrol:${TAG}" diff --git a/docker/build_image_arm.sh b/docker/build_image_arm.sh new file mode 100755 index 0000000..08d52f0 --- /dev/null +++ b/docker/build_image_arm.sh @@ -0,0 +1,8 @@ +#!/bin/sh +TAG="0.4.0" +PLATFORM="linux/arm64" +docker build -f Dockerfile.arm . --no-cache --platform ${PLATFORM} -t voip_patrol +docker tag voip_patrol_arm:latest ocpasia/voip_patrol_arm:latest +docker tag voip_patrol_arm:latest ocpasia/voip_patrol_arm:${TAG} +echo "Don't forget to push !" +echo "docker tag voip_patrol_arm:latest ocpasia/voip_patrol_arm:latest && docker push ocpasia/voip_patrol_arm:latest && docker push ocpasia/voip_patrol_arm:${TAG}" diff --git a/docker/entry.sh b/docker/entry.sh index eb4fef3..295ab99 100755 --- a/docker/entry.sh +++ b/docker/entry.sh @@ -1,6 +1,6 @@ #!/bin/bash -XML_CONF=${XML_CONF-"basic_server.xml"} +XML_CONF=${XML_CONF-"demo_server.xml"} RESULT_FILE=${RESULT_FILE-"result.json"} PORT=${PORT="5060"} diff --git a/docker/voip_patrol_demo.sh b/docker/voip_patrol_demo.sh new file mode 100755 index 0000000..494790e --- /dev/null +++ b/docker/voip_patrol_demo.sh @@ -0,0 +1,9 @@ +#!/bin/sh +DIR_PREFIX=`pwd` +IMAGE=voip_patrol:latest +docker stop voip_patrol +docker rm voip_patrol +docker run -d --net=host --name=voip_patrol --volume $DIR_PREFIX/../xml:/xml \ + $IMAGE \ + ./git/voip_patrol/voip_patrol -p 5555 -c /xml/demo_server.xml -l /log/voip_patrol.log -o result.json +# /bin/sh -c "tail -f /dev/null" diff --git a/docker/xml/demo_server.xml b/docker/xml/demo_server.xml new file mode 100644 index 0000000..dac6145 --- /dev/null +++ b/docker/xml/demo_server.xml @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/include/config_site.h b/include/config_site.h index 36e364f..0ee3209 100644 --- a/include/config_site.h +++ b/include/config_site.h @@ -17,3 +17,4 @@ #define PJMEDIA_SRTP_HAS_DTLS 1 // Make send of "100 - Trying" explicit #define PJSUA_DISABLE_AUTO_SEND_100 1 + diff --git a/include/config_site_arm.h b/include/config_site_arm.h new file mode 100644 index 0000000..b9a5504 --- /dev/null +++ b/include/config_site_arm.h @@ -0,0 +1,26 @@ +// Copyright (c) 2023 Kevin Nguyen +// +// This software is released under the MIT License. +// https://opensource.org/licenses/MIT + +#define PJ_IOQUEUE_MAX_HANDLES 1024 +#define FD_SETSIZE_SETABLE 1 +#define __FD_SETSIZE 1024 + +#define PJSIP_MAX_TRANSPORTS 32 +#define PJSIP_MAX_RESOLVED_ADDRESSES 32 + +#define PJSUA_MAX_ACC 512 +#define PJSUA_MAX_CALLS 512 +#define PJSUA_MAX_PLAYERS 512 + +// SSL +#define PJ_HAS_SSL_SOCK 1 +#define PJ_SSL_SOCK_IMP PJ_SSL_SOCK_IMP_APPLE + +#define PJSUA_DISABLE_AUTO_SEND_100 1 +// ARM +//#define ARM 1 +#define PJ_HAS_PENTIUM 0 +#define PJ_IS_LITTLE_ENDIAN 1 +#define PJ_IS_BIG_ENDIAN 0 diff --git a/include/user.mak b/include/user.mak new file mode 100644 index 0000000..37a1c50 --- /dev/null +++ b/include/user.mak @@ -0,0 +1,4 @@ +# You can create user.mak file in PJ root directory to specify +# additional flags to compiler and linker. For example: +# export CFLAGS += -Wno-unused-label -Werror +export LDFLAGS += -framework Network -framework Security \ No newline at end of file diff --git a/load_test/LOAD_TEST.md b/load_test/LOAD_TEST.md index 70f3ac0..2e924f1 100644 --- a/load_test/LOAD_TEST.md +++ b/load_test/LOAD_TEST.md @@ -28,3 +28,8 @@ In the provided example scenario, each voip_patrol instance will do 100 calls an repeat=99" /> ``` + + +## EXAMPLE + +`$ VP_ENV_SERVER="172.190.226.226:5060" VP_ENV_CALLEE="12542724631@172.190.226.226:5060" VP_ENV_U=12542724613 bash -c "sleep 0 && ../voip_patrol -p 52744 -c sbc_load.xml -o perf1.json --rtp-port 10010" ` \ No newline at end of file diff --git a/load_test/Untitled-1 b/load_test/Untitled-1 new file mode 100644 index 0000000..e11caec --- /dev/null +++ b/load_test/Untitled-1 @@ -0,0 +1,41 @@ +sipexer --tls-insecure \ +--invite \ +-co -com \ +-contact-uri "sip:gw+5d63ac1c732ae67118724e3c_sbc_0@20.189.120.18:45061;transport=tls;gw=5d63ac1c732ae67118724e3c_sbc_0" \ +-to-uri "sip:+17634965976@40.88.197.74:45091;transport=tls" \ +-from-uri "sip:+17047650477@20.189.120.18" \ +-xh "Allow: INVITE,ACK,CANCEL,OPTIONS,BYE,REFER,NOTIFY" \ +-xh "Content-Type: application/sdp" \ +-xh "X-Lxp-CallSid: CA479900399475872406126b39f7649ca8" \ +-mb " \ +v=0 +o=LeapXpert 1693933974 1693933975 IN IP4 20.189.120.18 +s=LeapXpert +c=IN IP4 20.189.120.18 +t=0 0 +m=audio 52900 RTP/SAVP 102 8 0 103 101 +a=rtpmap:102 opus/48000/2 +a=fmtp:102 useinbandfec=1; usedtx=1; maxaveragebitrate=64000; maxplaybackrate=48000; sprop-maxcapturerate=48000; ptime=20; minptime=10; maxptime=40 +a=rtpmap:8 PCMA/8000 +a=rtpmap:0 PCMU/8000 +a=rtpmap:103 telephone-event/48000 +a=fmtp:103 0-15 +a=rtpmap:101 telephone-event/8000 +a=fmtp:101 0-15 +a=crypto:10 AES_CM_128_HMAC_SHA1_32 inline:+miB1El9i7DqEZYDm99evrM5V/3+PKfW3utopUlT +a=crypto:7 AES_CM_128_HMAC_SHA1_80 inline:oDmDi/jR+od4yUe+5Bd71k+4Q39qD92wZeJ9yF5e +a=silenceSupp:off - - - - +a=ptime:20 +m=audio 52900 RTP/AVP 102 8 0 103 101 +a=rtpmap:102 opus/48000/2 +a=fmtp:102 useinbandfec=1; usedtx=1; maxaveragebitrate=64000; maxplaybackrate=48000; sprop-maxcapturerate=48000; ptime=20; minptime=10; maxptime=40 +a=rtpmap:8 PCMA/8000 +a=rtpmap:0 PCMU/8000 +a=rtpmap:103 telephone-event/48000 +a=fmtp:103 0-15 +a=rtpmap:101 telephone-event/8000 +a=fmtp:101 0-15 +a=silenceSupp:off - - - - +a=ptime:20 +" \ +"sip:+17634965976@40.88.197.74:45061;transport=tls" \ No newline at end of file diff --git a/load_test/core b/load_test/core new file mode 100644 index 0000000..99268af Binary files /dev/null and b/load_test/core differ diff --git a/load_test/load.xml b/load_test/load.xml index 6b61eae..72945db 100644 --- a/load_test/load.xml +++ b/load_test/load.xml @@ -9,24 +9,26 @@ max_duration="20" hangup="20" code="200" reason="OK" rtp_stats="true" - play="../voice_ref_files/reference_8000.wav" + play="../voice_ref_files/reference_8000.wav" /> + + + + + + + + + + + + + diff --git a/pjproject b/pjproject index f2bc60a..b3ca3b5 160000 --- a/pjproject +++ b/pjproject @@ -1 +1 @@ -Subproject commit f2bc60ac38ce0f6c4e4a86f35ba62e71167998ef +Subproject commit b3ca3b50e125f29706f151410273045b557417e7 diff --git a/results.json b/results.json new file mode 100644 index 0000000..ff1d46e --- /dev/null +++ b/results.json @@ -0,0 +1,2 @@ +{"1": {"label": "", "start": "24-07-2023 13:01:22", "end": "24-07-2023 13:01:22", "action": "register", "from": "demo_000001", "to": "demo_000001", "result": "PASS", "expected_cause_code": 200, "cause_code": 200, "reason": "OK", "callid": "", "transport": "UDP", "peer_socket": "", "duration": 0, "expected_duration": 0, "max_duration": 0, "hangup_duration": 0, "call_info":{"local_uri": "", "remote_uri": "", "local_contact": "", "remote_contact": "" }}} +{"1": {"label": "server1", "start": "06-02-2024 08:51:27", "end": "06-02-2024 08:51:27", "action": "call", "from": "Anonymous", "to": "12542724613", "result": "FAIL", "expected_cause_code": 200, "cause_code": 500, "reason": "Server Internal Error", "callid": "IFsKpTuo3UkoaVW8nP7Q7EwTya7c8Ild", "transport": "", "peer_socket": "", "duration": 0, "expected_duration": 0, "max_duration": 0, "hangup_duration": 2, "call_info":{"local_uri": "sip:Anonymous@20.110.145.242;transport=", "remote_uri": "sip:12542724613@172.190.226.226:35080", "local_contact": "", "remote_contact": "" }}} diff --git a/results.json.pjsua b/results.json.pjsua new file mode 100644 index 0000000..4d049af --- /dev/null +++ b/results.json.pjsua @@ -0,0 +1,712 @@ +08:51:26.847 sip_endpoint.c .Module "mod-pjsua-log" registered +08:51:26.847 sip_endpoint.c .Module "mod-tsx-layer" registered +08:51:26.847 sip_endpoint.c .Module "mod-stateful-util" registered +08:51:26.847 sip_endpoint.c .Module "mod-ua" registered +08:51:26.847 sip_endpoint.c .Module "mod-100rel" registered +08:51:26.847 sip_endpoint.c .Module "mod-pjsua" registered +08:51:26.847 sip_endpoint.c .Module "mod-invite" registered +08:51:26.850 alsa_dev.c ..ALSA driver found 0 devices +08:51:26.850 alsa_dev.c ..ALSA initialized +08:51:26.854 pjlib ..select() I/O Queue created (0x563538f5d728) +08:51:26.854 conference.c ..Creating conference bridge with 514 ports +08:51:26.854 Master/sound ..Using delay buffer with WSOLA. +08:51:27.048 DTLS-SRTP ..:AES_CM_128_HMAC_SHA1_80:AES_CM_128_HMAC_SHA1_32:AEAD_AES_256_GCM:AEAD_AES_128_GCM profile is supported +08:51:27.048 sip_endpoint.c .Module "mod-evsub" registered +08:51:27.048 sip_endpoint.c .Module "mod-presence" registered +08:51:27.048 evsub.c .Event pkg "presence" registered by mod-presence +08:51:27.048 sip_endpoint.c .Module "mod-mwi" registered +08:51:27.048 evsub.c .Event pkg "message-summary" registered by mod-mwi +08:51:27.048 sip_endpoint.c .Module "mod-refer" registered +08:51:27.048 evsub.c .Event pkg "refer" registered by mod-refer +08:51:27.048 sip_endpoint.c .Module "mod-pjsua-pres" registered +08:51:27.048 sip_endpoint.c .Module "mod-pjsua-im" registered +08:51:27.048 sip_endpoint.c .Module "mod-pjsua-options" registered +08:51:27.048 pjsua_core.c .1 SIP worker threads created +08:51:27.048 pjsua_core.c .pjsua version 2.10-dev for Linux-6.2.3.248/x86_64/glibc-2.35 initialized +08:51:27.048 pjsua_core.c .PJSUA state changed: CREATED --> INIT +08:51:27.049 pjsua_core.c SIP UDP socket reachable at 10.9.16.116:5070 +08:51:27.049 udp0x563538ff4b40 SIP UDP transport started, published address is 10.9.16.116:5070 +08:51:27.049 tcptp:5070 SIP TCP listener ready for incoming connections at 10.9.16.116:5070 +08:51:27.049 tlstp:5071 SIP TLS listener is ready for incoming connections at 10.9.16.116:5071 +08:51:27.049 pjsua_aud.c Setting null sound device.. +08:51:27.049 pjsua_aud.c .Opening null sound device.. +08:51:27.049 pjsua_core.c PJSUA state changed: INIT --> STARTING +08:51:27.049 sip_endpoint.c .Module "mod-unsolicited-mwi" registered +08:51:27.049 pjsua_core.c .PJSUA state changed: STARTING --> RUNNING +08:51:27.049 pjsua_acc.c Adding account: id=sip:default +08:51:27.049 pjsua_acc.c .Account sip:default added with id 0 +08:51:27.050 pjsua_acc.c Adding account: id=sip:Anonymous@20.110.145.242;transport= +08:51:27.050 pjsua_acc.c .Account sip:Anonymous@20.110.145.242;transport= added with id 1 +08:51:27.050 pjsua_call.c Making call with acc #1 to sip:12542724613@172.190.226.226:35080 +08:51:27.050 dlg0x5635390bbf78 .UAC dialog created +08:51:27.050 dlg0x5635390bbf78 ..Session count inc to 2 by mod-pjsua +08:51:27.050 pjsua_media.c .Call 0: initializing media.. +08:51:27.050 pjsua_media.c ..RTP socket reachable at 10.9.16.116:4000 +08:51:27.050 pjsua_media.c ..RTCP socket reachable at 10.9.16.116:4001 +08:51:27.050 srtp0x5635390c0370 ..SRTP keying SDES created +08:51:27.050 srtp0x5635390c0370 ..SRTP keying DTLS-SRTP created +08:51:27.050 pjsua_media.c ..Media index 0 selected for audio call 0 +08:51:27.050 pjsua_media.c ..Call 0: media transport initialization complete: Success +08:51:27.050 dlg0x5635390bbf78 ..Session count dec to 2 by mod-pjsua +08:51:27.050 dlg0x5635390bbf78 .Module mod-invite added as dialog usage, data=0x5635390c3408 +08:51:27.050 dlg0x5635390bbf78 ..Session count inc to 4 by mod-invite +08:51:27.050 dlg0x5635390bbf78 .Module mod-100rel added as dialog usage, data=0x5635390c5028 +08:51:27.050 dlg0x5635390bbf78 .100rel module attached +08:51:27.050 inv0x5635390bbf78 .UAC invite session created for dialog dlg0x5635390bbf78 +08:51:27.050 endpoint .Request msg INVITE/cseq=10047 (tdta0x5635390c5518) created. +08:51:27.050 inv0x5635390bbf78 ..Sending Request msg INVITE/cseq=10047 (tdta0x5635390c5518) +08:51:27.050 dlg0x5635390bbf78 ...Sending Request msg INVITE/cseq=10047 (tdta0x5635390c5518) +08:51:27.050 tsx0x5635390c8488 ....Transaction created for Request msg INVITE/cseq=10046 (tdta0x5635390c5518) +08:51:27.050 tsx0x5635390c8488 ...Sending Request msg INVITE/cseq=10046 (tdta0x5635390c5518) in state Null +08:51:27.050 sip_resolve.c ....Target '172.190.226.226:0' type=Unspecified resolved to '172.190.226.226:5060' type=UDP (UDP transport) +08:51:27.050 pjsua_core.c ....TX 1246 bytes Request msg INVITE/cseq=10046 (tdta0x5635390c5518) to UDP 172.190.226.226:5060: +INVITE sip:12542724613@172.190.226.226 SIP/2.0 +Via: SIP/2.0/UDP 10.9.16.116:5070;rport;branch=z9hG4bKPjY6zWqlv3YXIHqzTfRBMeTZIuoEOA40fP +Max-Forwards: 70 +From: sip:Anonymous@20.110.145.242;transport;tag=e2FIHl5PMg1fpeXYsgHcQVEehzDjG1ch +To: sip:12542724613@172.190.226.226 +Contact: +Call-ID: IFsKpTuo3UkoaVW8nP7Q7EwTya7c8Ild +CSeq: 10046 INVITE +Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS +Supported: replaces, 100rel, timer, norefersub +Session-Expires: 1800 +Min-SE: 90 +Content-Type: application/sdp +Content-Length: 624 + +v=0 +o=- 3916198287 3916198287 IN IP4 10.9.16.116 +s=pjmedia +b=AS:84 +t=0 0 +a=X-nat:0 +m=audio 4000 RTP/AVP 96 97 98 99 3 0 8 9 120 121 122 +c=IN IP4 10.9.16.116 +b=TIAS:64000 +a=rtcp:4001 IN IP4 10.9.16.116 +a=sendrecv +a=rtpmap:96 speex/16000 +a=rtpmap:97 speex/8000 +a=rtpmap:98 speex/32000 +a=rtpmap:99 iLBC/8000 +a=fmtp:99 mode=30 +a=rtpmap:3 GSM/8000 +a=rtpmap:0 PCMU/8000 +a=rtpmap:8 PCMA/8000 +a=rtpmap:9 G722/8000 +a=rtpmap:120 telephone-event/16000 +a=fmtp:120 0-16 +a=rtpmap:121 telephone-event/8000 +a=fmtp:121 0-16 +a=rtpmap:122 telephone-event/32000 +a=fmtp:122 0-16 +a=ssrc:72726459 cname:6c6524d04ed63c8c + +--end msg-- +08:51:27.050 tsx0x5635390c8488 ....State changed from Null to Calling, event=TX_MSG +08:51:27.050 dlg0x5635390bbf78 .....Transaction tsx0x5635390c8488 state changed to Calling +08:51:27.058 sip_endpoint.c !Processing incoming message: Response msg 100/INVITE/cseq=10046 (rdata0x5635390b5c98) +08:51:27.058 pjsua_core.c .RX 358 bytes Response msg 100/INVITE/cseq=10046 (rdata0x5635390b5c98) from UDP 172.190.226.226:5060: +SIP/2.0 100 Trying +Via: SIP/2.0/UDP 10.9.16.116:5070;branch=z9hG4bKPjY6zWqlv3YXIHqzTfRBMeTZIuoEOA40fP;received=20.110.145.242;rport=5070 +From: sip:Anonymous@20.110.145.242;transport;tag=e2FIHl5PMg1fpeXYsgHcQVEehzDjG1ch +To: sip:12542724613@172.190.226.226;tag=gK10801720 +Call-ID: IFsKpTuo3UkoaVW8nP7Q7EwTya7c8Ild +CSeq: 10046 INVITE +Content-Length: 0 + + +--end msg-- +08:51:27.058 tsx0x5635390c8488 .Incoming Response msg 100/INVITE/cseq=10046 (rdata0x5635390b5c98) in state Calling +08:51:27.058 tsx0x5635390c8488 ..State changed from Calling to Proceeding, event=RX_MSG +08:51:27.058 dlg0x5635390bbf78 ...Received Response msg 100/INVITE/cseq=10046 (rdata0x5635390b5c98) +08:51:27.058 dlg0x5635390bbf78 ...Transaction tsx0x5635390c8488 state changed to Proceeding +08:51:27.058 sip_endpoint.c Processing incoming message: Response msg 500/INVITE/cseq=10046 (rdata0x7f00240016b8) +08:51:27.058 pjsua_core.c .RX 373 bytes Response msg 500/INVITE/cseq=10046 (rdata0x7f00240016b8) from UDP 172.190.226.226:5060: +SIP/2.0 500 Server Internal Error +Via: SIP/2.0/UDP 10.9.16.116:5070;branch=z9hG4bKPjY6zWqlv3YXIHqzTfRBMeTZIuoEOA40fP;received=20.110.145.242;rport=5070 +From: sip:Anonymous@20.110.145.242;transport;tag=e2FIHl5PMg1fpeXYsgHcQVEehzDjG1ch +To: sip:12542724613@172.190.226.226;tag=gK10801720 +Call-ID: IFsKpTuo3UkoaVW8nP7Q7EwTya7c8Ild +CSeq: 10046 INVITE +Content-Length: 0 + + +--end msg-- +08:51:27.058 tsx0x5635390c8488 .Incoming Response msg 500/INVITE/cseq=10046 (rdata0x7f00240016b8) in state Proceeding +08:51:27.058 endpoint ..Request msg ACK/cseq=10046 (tdta0x7f0024003688) created. +08:51:27.058 pjsua_core.c ..TX 370 bytes Request msg ACK/cseq=10046 (tdta0x7f0024003688) to UDP 172.190.226.226:5060: +ACK sip:12542724613@172.190.226.226 SIP/2.0 +Via: SIP/2.0/UDP 10.9.16.116:5070;rport;branch=z9hG4bKPjY6zWqlv3YXIHqzTfRBMeTZIuoEOA40fP +Max-Forwards: 70 +From: sip:Anonymous@20.110.145.242;transport;tag=e2FIHl5PMg1fpeXYsgHcQVEehzDjG1ch +To: sip:12542724613@172.190.226.226;tag=gK10801720 +Call-ID: IFsKpTuo3UkoaVW8nP7Q7EwTya7c8Ild +CSeq: 10046 ACK +Content-Length: 0 + + +--end msg-- +08:51:27.058 tsx0x5635390c8488 ..State changed from Proceeding to Completed, event=RX_MSG +08:51:27.058 dlg0x5635390bbf78 ...Received Response msg 500/INVITE/cseq=10046 (rdata0x7f00240016b8) +08:51:27.058 dlg0x5635390bbf78 ...Transaction tsx0x5635390c8488 state changed to Completed +08:51:27.059 pjsua_media.c .....Call 0: deinitializing media.. +08:51:27.059 pjsua_media.c ......Call 0: cleaning up provisional media, prov_med_cnt=1, med_cnt=0 +08:51:27.059 dlg0x5635390bbf78 .....Session count dec to 1 by mod-invite +08:51:27.059 tdta0x5635390c5518 ..Destroying txdata Request msg INVITE/cseq=10046 (tdta0x5635390c5518) +08:51:27.251 pjsua_core.c !Shutting down, flags=0... +08:51:27.251 pjsua_core.c PJSUA state changed: RUNNING --> CLOSING +08:51:27.261 pjsua_call.c .Hangup all calls.. +08:51:27.261 pjsua_media.c .Call 0: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 1: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 2: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 3: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 4: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 5: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 6: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 7: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 8: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 9: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 10: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 11: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 12: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 13: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 14: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 15: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 16: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 17: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 18: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 19: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 20: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 21: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 22: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 23: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 24: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 25: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 26: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 27: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 28: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 29: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 30: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 31: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 32: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 33: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 34: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 35: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 36: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 37: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 38: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 39: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 40: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 41: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 42: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 43: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 44: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 45: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 46: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 47: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 48: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 49: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 50: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 51: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 52: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 53: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 54: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 55: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 56: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 57: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 58: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 59: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 60: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 61: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 62: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 63: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 64: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 65: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 66: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 67: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 68: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 69: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 70: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 71: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 72: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 73: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 74: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 75: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 76: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 77: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 78: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 79: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 80: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 81: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 82: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 83: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 84: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 85: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 86: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 87: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 88: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 89: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 90: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 91: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 92: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 93: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 94: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 95: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 96: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 97: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 98: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 99: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 100: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 101: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 102: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 103: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 104: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 105: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 106: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 107: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 108: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 109: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 110: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 111: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 112: deinitializing media.. +08:51:27.261 pjsua_media.c .Call 113: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 114: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 115: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 116: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 117: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 118: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 119: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 120: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 121: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 122: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 123: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 124: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 125: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 126: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 127: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 128: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 129: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 130: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 131: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 132: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 133: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 134: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 135: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 136: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 137: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 138: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 139: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 140: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 141: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 142: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 143: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 144: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 145: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 146: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 147: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 148: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 149: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 150: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 151: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 152: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 153: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 154: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 155: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 156: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 157: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 158: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 159: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 160: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 161: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 162: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 163: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 164: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 165: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 166: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 167: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 168: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 169: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 170: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 171: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 172: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 173: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 174: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 175: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 176: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 177: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 178: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 179: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 180: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 181: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 182: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 183: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 184: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 185: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 186: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 187: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 188: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 189: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 190: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 191: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 192: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 193: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 194: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 195: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 196: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 197: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 198: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 199: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 200: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 201: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 202: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 203: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 204: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 205: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 206: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 207: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 208: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 209: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 210: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 211: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 212: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 213: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 214: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 215: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 216: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 217: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 218: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 219: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 220: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 221: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 222: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 223: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 224: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 225: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 226: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 227: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 228: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 229: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 230: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 231: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 232: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 233: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 234: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 235: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 236: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 237: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 238: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 239: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 240: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 241: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 242: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 243: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 244: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 245: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 246: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 247: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 248: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 249: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 250: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 251: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 252: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 253: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 254: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 255: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 256: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 257: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 258: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 259: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 260: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 261: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 262: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 263: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 264: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 265: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 266: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 267: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 268: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 269: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 270: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 271: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 272: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 273: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 274: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 275: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 276: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 277: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 278: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 279: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 280: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 281: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 282: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 283: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 284: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 285: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 286: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 287: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 288: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 289: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 290: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 291: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 292: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 293: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 294: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 295: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 296: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 297: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 298: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 299: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 300: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 301: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 302: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 303: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 304: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 305: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 306: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 307: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 308: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 309: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 310: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 311: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 312: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 313: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 314: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 315: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 316: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 317: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 318: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 319: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 320: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 321: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 322: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 323: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 324: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 325: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 326: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 327: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 328: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 329: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 330: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 331: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 332: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 333: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 334: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 335: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 336: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 337: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 338: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 339: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 340: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 341: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 342: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 343: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 344: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 345: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 346: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 347: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 348: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 349: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 350: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 351: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 352: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 353: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 354: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 355: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 356: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 357: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 358: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 359: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 360: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 361: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 362: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 363: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 364: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 365: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 366: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 367: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 368: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 369: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 370: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 371: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 372: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 373: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 374: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 375: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 376: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 377: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 378: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 379: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 380: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 381: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 382: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 383: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 384: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 385: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 386: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 387: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 388: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 389: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 390: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 391: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 392: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 393: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 394: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 395: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 396: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 397: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 398: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 399: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 400: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 401: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 402: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 403: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 404: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 405: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 406: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 407: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 408: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 409: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 410: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 411: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 412: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 413: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 414: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 415: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 416: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 417: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 418: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 419: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 420: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 421: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 422: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 423: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 424: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 425: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 426: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 427: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 428: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 429: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 430: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 431: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 432: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 433: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 434: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 435: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 436: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 437: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 438: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 439: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 440: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 441: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 442: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 443: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 444: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 445: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 446: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 447: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 448: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 449: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 450: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 451: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 452: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 453: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 454: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 455: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 456: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 457: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 458: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 459: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 460: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 461: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 462: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 463: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 464: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 465: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 466: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 467: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 468: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 469: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 470: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 471: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 472: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 473: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 474: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 475: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 476: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 477: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 478: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 479: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 480: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 481: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 482: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 483: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 484: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 485: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 486: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 487: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 488: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 489: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 490: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 491: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 492: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 493: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 494: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 495: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 496: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 497: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 498: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 499: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 500: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 501: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 502: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 503: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 504: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 505: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 506: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 507: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 508: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 509: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 510: deinitializing media.. +08:51:27.262 pjsua_media.c .Call 511: deinitializing media.. +08:51:27.262 pjsua_pres.c .Shutting down presence.. +08:51:28.050 pjsua_aud.c .Closing sound device after idle for 1 second(s) +08:51:28.050 pjsua_aud.c ..Closing null sound device.. +08:51:28.261 pjsua_core.c .Destroying... +08:51:28.261 pjsua_media.c .Shutting down media.. +08:51:28.354 sip_endpoint.c .Destroying endpoint instance.. +08:51:28.354 sip_transaction.c .Stopping transaction layer module +08:51:28.354 tsx0x5635390c8488 .Request to terminate transaction +08:51:28.355 tsx0x5635390c8488 ..State changed from Completed to Terminated, event=USER +08:51:28.355 dlg0x5635390bbf78 ...Transaction tsx0x5635390c8488 state changed to Terminated +08:51:28.355 dlg0x5635390bbf78 ....Dialog destroyed! +08:51:28.355 tdta0x7f0024003688 .Destroying txdata Request msg ACK/cseq=10046 (tdta0x7f0024003688) +08:51:28.355 tsx0x5635390c8488 .Transaction destroyed! +08:51:28.355 sip_transaction.c .Stopped transaction layer module +08:51:28.355 sip_endpoint.c .Module "mod-unsolicited-mwi" unregistered +08:51:28.355 sip_endpoint.c .Module "mod-pjsua-options" unregistered +08:51:28.355 sip_endpoint.c .Module "mod-pjsua-im" unregistered +08:51:28.355 sip_endpoint.c .Module "mod-pjsua-pres" unregistered +08:51:28.355 sip_endpoint.c .Module "mod-pjsua" unregistered +08:51:28.355 sip_endpoint.c .Module "mod-stateful-util" unregistered +08:51:28.355 sip_endpoint.c .Module "mod-refer" unregistered +08:51:28.355 sip_endpoint.c .Module "mod-mwi" unregistered +08:51:28.355 sip_endpoint.c .Module "mod-presence" unregistered +08:51:28.355 sip_endpoint.c .Module "mod-evsub" unregistered +08:51:28.355 sip_endpoint.c .Module "mod-invite" unregistered +08:51:28.355 sip_endpoint.c .Module "mod-100rel" unregistered +08:51:28.355 sip_endpoint.c .Module "mod-ua" unregistered +08:51:28.355 sip_transaction.c .Transaction layer module destroyed +08:51:28.355 sip_endpoint.c .Module "mod-tsx-layer" unregistered +08:51:28.355 sip_endpoint.c .Module "mod-msg-print" unregistered +08:51:28.355 sip_endpoint.c .Module "mod-pjsua-log" unregistered +08:51:28.355 sip_transport.c .Destroying transport manager +08:51:28.356 udp0x563538ff4b40 .SIP UDP transport destroyed +08:51:28.356 tcptp:5070 .SIP TCP transport destroyed +08:51:28.356 tlstp:5071 .SIP TLS transport destroyed +08:51:28.356 timer.c .Dumping timer heap: +08:51:28.356 timer.c . Cur size: 0 entries, max: 3070 +08:51:28.356 sip_endpoint.c .Endpoint 0x563538f1f448 destroyed +08:51:28.356 pjsua_core.c .PJSUA state changed: CLOSING --> NULL +08:51:28.356 pjsua_core.c .PJSUA destroyed... diff --git a/voip_patrol b/voip_patrol new file mode 100755 index 0000000..546ae95 Binary files /dev/null and b/voip_patrol differ diff --git a/xml/basic_server.xml b/xml/basic_server.xml new file mode 100644 index 0000000..359a731 --- /dev/null +++ b/xml/basic_server.xml @@ -0,0 +1,23 @@ + + + + + + + + + diff --git a/xml/udp_server.xml b/xml/udp_server.xml new file mode 100644 index 0000000..66b345e --- /dev/null +++ b/xml/udp_server.xml @@ -0,0 +1,18 @@ + + + + + + + +