2012-07-31 18 views
2

下載,編譯和安裝PJSIP版本2.0(從pjsip.org)到我的iPhone項目後,我有以下問題沒有音頻:PJSIP在iPhone上使用3G的話呼叫時在UDP

問題是當我使用UDP,而在3G上。

雖然iPhone設備在3G上 - 在來電時,我聽不到對方,但另一方可以聽到我的聲音。然而,在3G上的去電,一切正常。

手機使用Wi-Fi時,一切正常,傳入,傳出,雙方都能聽到。

此外,TCP適用於所有場景,包括3G和Wi-Fi。

試過落實解決這裏找到:http://trac.pjsip.org/repos/wiki/audio-problem-local-no-audio

但無濟於事,被抓我的頭在這一個時間...

回答

0

這很可能會是在做設置有問題或者啜飲端點,主要原因是NAT。

我建議你設置兩個SIP端點STUNTURNICE。您可能能夠解決大多數STUN和ICE的NAT問題,但是如果沒有TURN服務器,您將無法解決所有網絡問題。

如果兩個終端都不支持STUN,TURN和ICE(例如硬件sip設備),那麼您通常需要設置B2BUA(作爲媒體網關)或使用某種媒體網關代理服務器支持。

至於您的具體設置不起作用的原因,它需要pjsip日誌來了解發生了什麼以及兩個SIP端點的網絡環境的更多信息。

0

你應該試試這個。在startPjsipAndRegisterOnServer方法內添加UDP傳輸。

{ 
     // Init transport config structure 
     pjsua_transport_config cfg; 
     pjsua_transport_config_default(&cfg); 
     cfg.port = 5080; 
     status = pjsua_transport_create(PJSIP_TRANSPORT_UDP, &cfg, NULL); 
     if (status != PJ_SUCCESS) error_exit("Error creating transport", status); 
    }