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 listpjsip 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/20150113/215a3dff/attachment.html>