Я использовал библиотеку PJSIP и смог зарегистрировать пользователя на сервере, но я
не могу позвонить
можно ли звонить без sip-клиента
или
сделать для себя, не может звонить с сервера и возвращать SIP
исходящий статус для acc 0 не активен
можем ли мы звонить с использованием PJSIP или мыдолжны интегрировать некоторые другие библиотеки
-(void)testSIP {
pjsua_create();
pj_status_t status;
pjsua_config ua_cfg;
pjsua_logging_config log_cfg;
pjsua_media_config media_cfg;
pjsua_config_default(&ua_cfg);
pjsua_logging_config_default(&log_cfg);
pjsua_media_config_default(&media_cfg);
pjsua_logging_config_default(&log_cfg);
log_cfg.console_level = 4;
status = pjsua_init(&ua_cfg, &log_cfg, &media_cfg);
if (status != PJ_SUCCESS) NSLog(@"Error in pjsua_init()%d", status);
pjsua_transport_config transportConfig;
pjsua_transport_config_default(&transportConfig);
transportConfig.port = 5090;
status = pjsua_transport_create(PJSIP_TRANSPORT_UDP, &transportConfig, NULL);
if (status != PJ_SUCCESS){ NSLog(@"Error creating transport%@", status);}
//pjsua_transport_create(PJSIP_TRANSPORT_TCP, &transportConfig, NULL);
pjsua_start();
// Register to SIP server by creating SIP account.
pjsua_acc_config acc_config;
pjsua_call_id call_id = 0;
pj_bool_t pj_bool_t = 0;
pjsua_call_setting call_setting;
pjsua_call_setting_default(&call_setting);
pjsua_acc_config_default(&acc_config);
acc_config.id = pj_str((char *)"sipuser");
acc_config.reg_uri = pj_str((char *)"sip:sipDomain");
acc_config.cred_count = 1;
acc_config.cred_info[0].realm =pj_str((char *)"*")
acc_config.cred_info[0].scheme = pj_str((char *)"digest");
acc_config.cred_info[0].username=pj_str((char *)"sipuser");
acc_config.cred_info[0].data_type=PJSIP_CRED_DATA_PLAIN_PASSWD ;
acc_config.cred_info[0].data = pj_str((char *)"sippassword");
pjsip_endpoint* endpoint = pjsua_get_pjsip_endpt();
pj_dns_resolver* resolver;
status = pjsua_acc_add(&acc_config, pj_bool_t, &acc_id);
NSLog(@"%@",status);
if (status!=PJ_SUCCESS){
NSLog(@"Error ADDING ACCOUNT %d",status);
}else{
pjsua_acc_info *test;
status = pjsua_acc_get_info(acc_id, &test);
NSLog(@"%@",status);
pjsua_call_get_info(call_id, &call_info);
dispatch_async(dispatch_get_main_queue(), ^{
[self makeCallTo:"sip:sipuser@sipdomain"];
});
}
}