我正在基于Android上的pjsip开发一个SIP客户端(我现在使用c偶发简单代码作为参考)。
WHen我试图注册帐户,我得到了以下错误:
无法为注册生成合适的联系人标头:不支持传输(PJSIP_EUNSUPTRANSPORT)
我的代码几乎与here中的代码相同,sipServer字符串是注册程序“192.168.”的ip地址。
我还试图不像下面的代码那样指定传输方法:
int[] accId = new int[1];
accId[0] = 1;
pjsua_acc_config cfg = new pjsua_acc_config();
pjsua.acc_config_default(cfg);
csipsimple_acc_config css_cfg = new csipsimple_acc_config();
pjsua.csipsimple_acc_config_default(css_cfg);
cfg.setPriority(10);
cfg.setId(pjsua.pj_str_copy("sip:" + sipUser + "@" + sipServer));
cfg.setReg_uri(pjsua.pj_str_copy("sip:" + sipServer));
cfg.setReg_timeout(60);
cfg.setCred_count(1);
cfg.setPublish_enabled(0);
cfg.setReg_delay_before_refresh(-1);
cfg.setUse_timer(pjsua_sip_timer_use.PJSUA_SIP_TIMER_OPTIONAL);
pjsua.csipsimple_set_acc_user_data(cfg, css_cfg);
status = pjsua.acc_add(cfg, pjsuaConstants.PJ_FALSE, accId);错误是:
E/libpjsip(20934):pjsua_acc.c ..Unable为注册生成合适的联系人标头:不支持传输(PJSIP_EUNSUPTRANSPORT) status=171060
当然,在此之后,wireshark上没有任何跟踪:库在发送任何数据之前就放弃了。
谢谢
发布于 2013-05-13 08:47:35
我必须添加以下代码:
int[] tId = new int[1];
int status;
pjsua.transport_config_default(cfgTrasport);
cfgTrasport.setPort(5060);
status = pjsua.transport_create(pjsip_transport_type_e.PJSIP_TRANSPORT_UDP, cfgTrasport, tId);
if (status != pjsuaConstants.PJ_SUCCESS) {
Log.e("pjsua.transport_create returned status="+status);
}https://stackoverflow.com/questions/16483996
复制相似问题