Hi Pjsip team: I am use PJSUA to test with an IMS server, I configure a outbound as --outbound sip:xxx.5060;transport=tcp, I assume all sip traffic should send to the server directly, but when it get a 200 OK to INVITE, it try to send ACK to the server located in route, is it the expected behavior or bug, because the same test case, doubango client will send to outbound proxy always. The code is in your sip_dialog.c: PJ_DEF(pj_status_t) pjsip_dlg_send_request(...) { if (msg->line.req.method.id != PJSIP_ACK_METHOD) { ... status = pjsip_tsx_send_msg(tsx, tdata); // This msg will send to outbound proxy ... } else { /* Set transport selector */ pjsip_tx_data_set_transport(tdata, &dlg->tp_sel); /* Send request */ status = pjsip_endpt_send_request_stateless(dlg->endpt, tdata, NULL, NULL); //This sending will be wrong and try to get route header and run dns resolve, because now my route server is an internal domain and can't be resolved. } My client version and configuration is below: 04:55:29.705 os_core_unix.c !pjlib 2.1 for POSIX initialized 04:55:29.708 sip_endpoint.c .Creating endpoint instance... 04:55:29.709 pjlib .select() I/O Queue created (0xde7d30) 04:55:29.709 sip_endpoint.c .Module "mod-msg-print" registered 04:55:29.709 sip_transport. .Transport manager created. 04:55:29.710 pjsua_core.c .PJSUA state changed: NULL --> CREATED 04:55:29.710 config.c PJLIB (c)2008-2009 Teluu Inc. 04:55:29.710 config.c Dumping configurations: 04:55:29.710 config.c PJ_VERSION : 2.1 04:55:29.710 config.c PJ_M_NAME : x86_64 04:55:29.710 config.c PJ_HAS_PENTIUM : 0 04:55:29.711 config.c PJ_OS_NAME : x86_64-unknown-linux-gnu 04:55:29.711 config.c PJ_CC_NAME/VER_(1,2,3) : gcc-4.6.3 04:55:29.711 config.c PJ_IS_(BIG/LITTLE)_ENDIAN : little-endian 04:55:29.711 config.c PJ_HAS_INT64 : 1 04:55:29.711 config.c PJ_HAS_FLOATING_POINT : 1 04:55:29.711 config.c PJ_DEBUG : 1 04:55:29.712 config.c PJ_FUNCTIONS_ARE_INLINED : 0 04:55:29.712 config.c PJ_LOG_MAX_LEVEL : 5 04:55:29.712 config.c PJ_LOG_MAX_SIZE : 4000 04:55:29.712 config.c PJ_LOG_USE_STACK_BUFFER : 1 04:55:29.712 config.c PJ_POOL_DEBUG : 0 04:55:29.712 config.c PJ_HAS_POOL_ALT_API : 0 04:55:29.712 config.c PJ_HAS_TCP : 1 04:55:29.712 config.c PJ_MAX_HOSTNAME : 128 04:55:29.713 config.c ioqueue type : select 04:55:29.713 config.c PJ_IOQUEUE_MAX_HANDLES : 64 04:55:29.713 config.c PJ_IOQUEUE_HAS_SAFE_UNREG : 1 04:55:29.713 config.c PJ_HAS_THREADS : 1 04:55:29.713 config.c PJ_LOG_USE_STACK_BUFFER : 1 04:55:29.713 config.c PJ_HAS_SEMAPHORE : 1 04:55:29.713 config.c PJ_HAS_EVENT_OBJ : 1 04:55:29.713 config.c PJ_ENABLE_EXTRA_CHECK : 1 04:55:29.714 config.c PJ_HAS_EXCEPTION_NAMES : 1 04:55:29.714 config.c PJ_MAX_EXCEPTION_ID : 16 04:55:29.714 config.c PJ_EXCEPTION_USE_WIN32_SEH: 0 04:55:29.714 config.c PJ_TIMESTAMP_USE_RDTSC: : 0 04:55:29.714 config.c PJ_OS_HAS_CHECK_STACK : 0 04:55:29.714 config.c PJ_HAS_HIGH_RES_TIMER : 1 At 2015-01-13 15:41:34, "Alberto Bitto" <alberto.bitto at gmail.com> wrote: I checked the server configuration and I figured out I made a mistake: the Kamailio server is set up to use TLS. Since pjsip libraries are already built with SSL, I just changed the transport setup: pjsua_transport_config cfg; pjsua_transport_config_default(&cfg); cfg.port = 5080; status = pjsua_transport_create(PJSIP_TRANSPORT_TLS, &cfg, NULL); and the account configuration: cfg.id = pj_str("sips:"SIP_USER"@"SIP_URL); cfg.reg_uri = pj_str("sips:"SIP_URL";transport=tls"); Nevertheless, I'm still getting the same route error. 2015-01-12 17:25 GMT+01:00 Bill Gardner <billg at wavearts.com>: Maybe because you're using port 5061 it requires additional SSL setup? Try 5060 perhaps? - Bill On 1/12/2015 11:18 AM, Alberto Bitto wrote: Hello, I'm trying to implement a very simple iOS app that uses pjsua. I succesfully built and imported the pjsip library in my sample project, have a Kamailio remote server up and running and now I'm trying to make a very simple call to the server. Using the code found on this tutorial http://www.xianwenchen.com/blog/2014/06/30/how-to-make-an-ios-voip-app-with-pjsip-part-3/, I do the following: 1) create pjsua status: status = pjsua_create(); 2) init configuration and logging: pjsua_config cfg; pjsua_config_default (&cfg); cfg.cb.on_incoming_call = &on_incoming_call; cfg.cb.on_call_media_state = &on_call_media_state; cfg.cb.on_call_state = &on_call_state; pjsua_logging_config log_cfg; pjsua_logging_config_default(&log_cfg); log_cfg.console_level = 4; status = pjsua_init(&cfg, &log_cfg, NULL); 3) add UDP and TCP transport: pjsua_transport_config cfg; pjsua_transport_config_default(&cfg); cfg.port = 5080; status = pjsua_transport_create(PJSIP_TRANSPORT_UDP, &cfg, NULL); (and the same for TCP) 4) start pjsua: status = pjsua_start(); 5) register the account on the server: pjsua_acc_id acc_id; pjsua_acc_config cfg; pjsua_acc_config_default(&cfg); cfg.id = pj_str("sip:"SIP_USER"@"SIP_URL); cfg.reg_uri = pj_str("sip:"SIP_URL); cfg.cred_count = 1; cfg.cred_info[0].realm = pj_str(SIP_REALM); cfg.cred_info[0].scheme = pj_str("digest"); cfg.cred_info[0].username = pj_str(SIP_USER); cfg.cred_info[0].data_type = PJSIP_CRED_DATA_PLAIN_PASSWD; cfg.cred_info[0].data = pj_str(SIP_PASSWD); status = pjsua_acc_add(&cfg, PJ_TRUE, &acc_id); where SIP_URL is the IP of my Kamailio server and SIP_REALM = "*" 6) if everything is fine, make the call: pj_str_t uri = pj_str(SIP_URL ":"SIP_PORT); status = pjsua_call_make_call(acc_id, &uri, 0, NULL, NULL, NULL); where SIP_PORT is the port 5061 on the Kamailio server. When I run the app and actually make the call, on the log I can see the pjsua status change from NULL up to RUNNING and the account successfully added to the server; when it tries to make the call, after the sound media setup, I get this error: Error making call: Missing route set (for tel: URI) (PJSIP_ENOROUTESET) [status=171005] and pjsua starts to shut everything down. What am I missing? Thanks in advance. Alberto Bitto _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip at lists.pjsip.orghttp://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org _______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip at lists.pjsip.org http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20150114/698e25f9/attachment.html>