int main (int argc, char *argv[]) { int i; int ret; const char *root_ca_path = NULL; const char *env_domain=getenv("TEST_DOMAIN"); belle_sip_tester_init(NULL); #ifndef WIN32 /*this hack doesn't work for argv[0]="c:\blablab\"*/ // this allows to launch liblinphone_tester from outside of tester directory if (strstr(argv[0], ".libs")) { int prefix_length = strstr(argv[0], ".libs") - argv[0] + 1; char *prefix = belle_sip_strdup_printf("%s%.*s", argv[0][0] == '/' ? "" : "./", prefix_length, argv[0]); // printf("Resource prefix set to %s\n", prefix); bc_tester_set_resource_dir_prefix(prefix); bc_tester_set_writable_dir_prefix(prefix); belle_sip_free(prefix); } #endif if (env_domain) { test_domain=env_domain; } for(i=1;i<argc;++i){ if (strcmp(argv[i],"--verbose")==0){ belle_sip_set_log_level(BELLE_SIP_LOG_DEBUG); } else if (strcmp(argv[i],"--silent")==0){ belle_sip_set_log_level(BELLE_SIP_LOG_FATAL); } else if (strcmp(argv[i],"--log-file")==0){ CHECK_ARG("--log-file", ++i, argc); if (belle_sip_tester_set_log_file(argv[i]) < 0) return -2; } else if (strcmp(argv[i],"--domain")==0){ CHECK_ARG("--domain", ++i, argc); test_domain=argv[i]; }else if (strcmp(argv[i],"--auth-domain")==0){ CHECK_ARG("--auth-domain", ++i, argc); auth_domain=argv[i]; } else if (strcmp(argv[i], "--root-ca") == 0) { CHECK_ARG("--root-ca", ++i, argc); root_ca_path = argv[i]; }else { int ret = bc_tester_parse_args(argc, argv, i); if (ret>0) { i += ret - 1; continue; } else if (ret<0) { bc_tester_helper(argv[0], belle_sip_helper); } return ret; } } belle_sip_tester_set_root_ca_path(root_ca_path); pool=belle_sip_object_pool_push(); ret = bc_tester_start(argv[0]); belle_sip_tester_uninit(); return ret; }
int main (int argc, char *argv[]) { int i; int ret; const char *root_ca_path = NULL; const char *env_domain=getenv("TEST_DOMAIN"); belle_sip_tester_init(); if (env_domain) { test_domain=env_domain; } for(i=1;i<argc;++i){ if (strcmp(argv[i],"--verbose")==0){ belle_sip_set_log_level(BELLE_SIP_LOG_DEBUG); } else if (strcmp(argv[i],"--silent")==0){ belle_sip_set_log_level(BELLE_SIP_LOG_FATAL); } else if (strcmp(argv[i],"--log-file")==0){ CHECK_ARG("--log-file", ++i, argc); log_file=fopen(argv[i],"w"); if (!log_file) { belle_sip_error("Cannot open file [%s] for writing logs because [%s]",argv[i],strerror(errno)); return -2; } else { belle_sip_message("Redirecting traces to file [%s]",argv[i]); belle_sip_set_log_file(log_file); } } else if (strcmp(argv[i],"--domain")==0){ CHECK_ARG("--domain", ++i, argc); test_domain=argv[i]; }else if (strcmp(argv[i],"--auth-domain")==0){ CHECK_ARG("--auth-domain", ++i, argc); auth_domain=argv[i]; } else if (strcmp(argv[i], "--root-ca") == 0) { CHECK_ARG("--root-ca", ++i, argc); root_ca_path = argv[i]; }else { int ret = bc_tester_parse_args(argc, argv, i); if (ret>0) { i += ret - 1; continue; } else if (ret<0) { bc_tester_helper(argv[0], belle_sip_helper); } return ret; } } belle_sip_tester_set_root_ca_path(root_ca_path); pool=belle_sip_object_pool_push(); ret = bc_tester_start(); belle_sip_tester_uninit(); return ret; }
int main(int argc, char *argv[]){ belle_http_provider_t *prov; belle_http_request_t *req; belle_generic_uri_t *uri; belle_http_request_listener_callbacks_t cbs={0}; if (argc<2){ fprintf(stderr,"Usage:\n%s <http uri> [--debug]\n",argv[0]); return -1; } if (argc==3){ if (strcmp(argv[2],"--debug")==0){ belle_sip_set_log_level(BELLE_SIP_LOG_DEBUG); } } stack=belle_sip_stack_new(NULL); prov=belle_sip_stack_create_http_provider(stack,"0.0.0.0"); uri=belle_generic_uri_parse(argv[1]); if (!uri){ fprintf(stderr,"Bad uri %s\n",argv[1]); return -1; } cbs.process_response=process_response; cbs.process_io_error=process_io_error; cbs.process_timeout=process_timeout; req=belle_http_request_create("GET",uri,NULL); belle_http_provider_send_request(prov,req,belle_http_request_listener_create_from_callbacks(&cbs,NULL)); belle_sip_stack_main(stack); belle_sip_object_unref(prov); belle_sip_object_unref(stack); return 0; }
void sal_set_log_level(OrtpLogLevel level) { belle_sip_log_level belle_sip_level; if ((level&ORTP_FATAL) != 0) { belle_sip_level = BELLE_SIP_LOG_FATAL; } else if ((level&ORTP_ERROR) != 0) { belle_sip_level = BELLE_SIP_LOG_ERROR; } else if ((level&ORTP_WARNING) != 0) { belle_sip_level = BELLE_SIP_LOG_WARNING; } else if ((level&ORTP_MESSAGE) != 0) { belle_sip_level = BELLE_SIP_LOG_MESSAGE; } else if (((level&ORTP_DEBUG) != 0) || ((level&ORTP_TRACE) != 0)) { belle_sip_level = BELLE_SIP_LOG_DEBUG; } else { //well, this should never occurs but... belle_sip_level = BELLE_SIP_LOG_MESSAGE; } belle_sip_set_log_level(belle_sip_level); }
static void prepare_query(CardDavRequest *request) { belle_http_request_listener_callbacks_t cbs = { 0 }; belle_http_request_listener_t *l = NULL; belle_generic_uri_t *uri = NULL; belle_http_request_t *req = NULL; belle_sip_memory_body_handler_t *bh = NULL; belle_sip_stack_t *stack = NULL; belle_http_provider_t *http_provider = NULL; belle_sip_set_log_level(BELLE_SIP_LOG_MESSAGE); uri = belle_generic_uri_parse(request->url); if (!uri) { belle_sip_error("Could not send request, URL %s is invalid", request->url); return; } req = belle_http_request_create(request->method, uri, belle_sip_header_content_type_create("application", "xml; charset=utf-8"), belle_sip_header_create("Depth", request->depth), NULL); if (!req) { belle_sip_object_unref(uri); belle_sip_error("Could not create request"); return; } bh = belle_sip_memory_body_handler_new_copy_from_buffer(request->body, strlen(request->body), NULL, NULL); belle_sip_message_set_body_handler(BELLE_SIP_MESSAGE(req), BELLE_SIP_BODY_HANDLER(bh)); cbs.process_response = process_response_from_post_xml_rpc_request; cbs.process_io_error = process_io_error_from_post_xml_rpc_request; cbs.process_auth_requested = process_auth_requested_from_post_xml_rpc_request; l = belle_http_request_listener_create_from_callbacks(&cbs, request); stack = belle_sip_stack_new(NULL); http_provider = belle_sip_stack_create_http_provider(stack, "0.0.0.0"); request->request_in_progress = 1; belle_http_provider_send_request(http_provider, req, l); while (request->request_in_progress) { belle_sip_stack_sleep(stack, 0); } }
int main(int argc, char *argv[]){ char *str; struct stat st; int fd; int i; const char *filename=NULL; const char *protocol="sip"; if (argc<2){ fprintf(stderr,"Usage:\n%s [--protocol sip|http|sdp] <text file containing messages>\n",argv[0]); return -1; } for(i=1;i<argc;++i){ if (strcmp(argv[i],"--protocol")==0){ i++; if (i<argc){ protocol=argv[i]; }else{ fprintf(stderr,"Missing argument for --protocol\n"); return -1; } }else filename=argv[i]; } if (!filename){ fprintf(stderr,"No filename specified\n"); return -1; } if (stat(filename,&st)==-1){ fprintf(stderr,"Could not stat %s: %s\n",filename,strerror(errno)); return -1; } fd=open(filename,O_RDONLY); if (fd==-1){ fprintf(stderr,"Could not open %s: %s\n",filename,strerror(errno)); return -1; } str=belle_sip_malloc0(st.st_size+1); if (read(fd,str,st.st_size)==-1){ fprintf(stderr,"Could not read %s: %s\n",filename,strerror(errno)); belle_sip_free(str); close(fd); return -1; } close(fd); belle_sip_set_log_level(BELLE_SIP_LOG_DEBUG); for (i=0;i<st.st_size;){ size_t read; if (strcasecmp(protocol,"sip")==0 || strcasecmp(protocol,"http")==0){ belle_sip_message_t *msg; uint64_t begin,end; begin=belle_sip_time_ms(); msg=belle_sip_message_parse_raw(str+i,st.st_size-i,&read); end=belle_sip_time_ms(); if (msg){ printf("Successfully parsed %s message of %i bytes in %i ms.\n",protocol,(int)read, (int)(end-begin)); }else{ fprintf(stderr,"Failed to parse message.\n"); break; } i+=read; }else if (strcasecmp(protocol,"sdp")==0){ belle_sdp_session_description_t *sdp=belle_sdp_session_description_parse(str); if (sdp){ printf("Successfully parsed %s message of %i bytes.\n",protocol,(int)strlen(str)); }else{ fprintf(stderr,"Failed to parse SDP message.\n"); } break; } } belle_sip_free(str); return 0; }
void sal_disable_logs() { belle_sip_set_log_level(BELLE_SIP_LOG_ERROR); }
void sal_enable_logs(){ belle_sip_set_log_level(BELLE_SIP_LOG_MESSAGE); }