2013-05-10 120 views
2

我正在開發基於Android上的pjsip的SIP客戶端(我現在使用csipsimple代碼作爲參考)。嘗試使用pjsip註冊時出錯:PJSIP_EUNSUPTRANSPORT

當我嘗試註冊我得到以下錯誤的帳戶:

Unable to generate suitable Contact header for registration: Unsupported transport (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 to generate suitable Contact header for registration: Unsupported transport (PJSIP_EUNSUPTRANSPORT) [status=171060]

當然,在這之後wireshark上沒有任何跟蹤:lib在發送任何數據之前放棄。

感謝

回答

0

我不得不添加以下代碼:

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); 
    } 
相關問題