2017-05-08 94 views
1

我試圖使用不同於5060的SIP端口。如何更改android版本的PJSIP sip端口?

我更改了以下代碼的端口,但只更改了源端口。 SIP服務器的目的端口仍然是5060

 // Create SIP transport. Error handling sample is shown 
    TransportConfig sipTpConfig = new TransportConfig(); 
    sipTpConfig.setPort(Long.parseLong(port, 10)); 
      /* Create transports. */ 
    try { 
     ep.transportCreate(pjsip_transport_type_e.PJSIP_TRANSPORT_UDP, sipTpConfig); 
    }catch(Exception e){ 
     System.out.println(e); 
    } 

有沒有人有這個想法怎麼辦?

在此先感謝!

回答

0

您必須修改帳戶配置:

final String acc_id = String.format(Locale.ENGLISH, "sip:%[email protected]%s", username, domain); 
final String registrar = String.format(Locale.ENGLISH, "sip:%s", domain); 
final String proxy  = String.format(Locale.ENGLISH, "sip:%s:%d;transport=%s;port=%d", domainip, port, protocol, port); 


accCfg.setIdUri(acc_id); 
accCfg.getRegConfig().setRegistrarUri(registrar); 
AuthCredInfoVector creds = accCfg.getSipConfig().getAuthCreds(); 
creds.clear(); 
if (username.length() != 0) { 
    creds.add(new AuthCredInfo("Digest", "*", username, 0, password)); 
} 
StringVector proxies = accCfg.getSipConfig().getProxies(); 
proxies.clear(); 
if (proxy.length() != 0) { 
    proxies.add(proxy); 
} 

accCfg.getNatConfig().setIceEnabled(true); // Enable ICE 

lastRegStatus = null; 
account.modify(accCfg);