2011-07-06 37 views
0

從「SipAudioCall」類的«sendDtmf»方法在Android 3.0/Motorola Xoom WiFi上真的可以工作 ?Xoom WiFI/Android 3.0上的sendDtmf

我一個深化發展SIP激活的應用程序的Android 3.0平板電腦 和測試它在摩托羅拉XOOM(WIFI沒有3G也不4G)

我能: - 創建«SipManager»與«SipManager.newInstance ()» - 使用«manageurSip.makeAudioCall()»在我的 SIP提供者帳戶 中檢索我的語音郵件 - 在«onCallEstablished»回調中,我可以使用«startAudio()» 和«setSpeakerMode(true)»,聽到消息

但是當我嘗試使用«send Dtmf(int)»保存或刪除我的消息, 沒有任何反應。

如果我嘗試使用已開發的SIP應用程序「CSIPSimple」,我也不能發送DTMF音調。

我應該等待Android 3.1使用此功能嗎?

預先感謝您。

+0

One的詳細信息:如果我叫: (TelephonyManager) getActivity()getSystemService(Context.TELEPHONY_SERVICE).getPhoneType()在 「onCallEstablished」 列入「makeAudioCall的 「SipAudioCall.Listener」 的回調 。 「(在這個時候,我可以完全聽 我的聲音消息),答案是: 0:值‘TelephonyManager.PHONE_TYPE_NONE’ 我所期待的: 3:值‘TelephonyManager.PHONE_TYPE_SIP’ 的SIP API是可能沒有完全集成在Android 3.0上? – bobygerm

+0

以下是日誌: – bobygerm

+0

https://groups.google.com/group/android-developers/browse_thread/thread/4424e4a256dcb6a5/ca704ab9c2757c95?hl=fr&lnk=gst&q=xoom+wifi#ca704ab9c2757c95 – bobygerm

回答

0

DTMF並不是微不足道的VoIP,所以問題可能出在Android之外。我可以幫你解決這個問題。

首先找出對方支持哪種DTMF傳輸方法:RTP事件,SIP INFO或帶內。

RTP事件的支持被指示在SDP:A = FMTP:...

INFO必須至少在Accpets頭,如果存在的話,使用不同的客戶端嘗試。

帶內DTMF需要色調正確的編解碼器,通常是普通的G711。

+1

謝謝!當我在我的ubuntu工作站上使用「Twinkle」軟電話時,我必須選擇「帶內」才能發送dtmf。其他選擇(RFC2833或SIP INFO)不起作用。這適用於android sip API嗎? – bobygerm

+0

我不瞭解Android,但對於可靠的帶內DTMF傳輸(在媒體流中發出嘟嘟聲)G711(又名PCM)是唯一廣泛使用的編解碼器。您必須只選擇那一個。所有其他編解碼器都通過對人類語音進行積極的優化來實現低比特率,並且爲了遠端識別而扭曲嘟嘟聲。 – Szocske