2010-04-20 83 views
0

據我所知,從應用程序撥打電話的唯一方法是使用tel:// URL方案,該方案啓動本地電話應用程序。但即使在沒有WIFI可用的情況下,App Store上提供的Truphone應用也可以進行VOIP呼叫。他們表示,他們通過向其服務器發起GSM呼叫並通過因特網從該處路由VOIP數據包來實現。「Truphone Anywhere」<TM>如何在iPhone上撥打GSM電話?

Rerference:http://blog.truphone.com/2008/12/truphone-on-the-iphone-now-works-without-wi-fi.html

我怎麼做我的應用程序類似的東西?

回答

1

就手機的小區硬件而言,這不是一個呼叫。它只是一個2路數據流。他們正在激活麥克風並對其輸入進行編碼並將其發送到服務器,同時他們接收另一個流並在揚聲器上播放。他們的服務器然後解碼流,然後將其連接到正常的電話系統,以便您可以與不使用其服務的人交談。

是否允許用戶聯繫用戶羣以外的人?如果是這樣,那就需要你建立一個服務器來解碼你的數據流,然後找到一個具有API的VOIP提供商,這樣你的服務器就可以對它們進行流式傳輸。這是可能的,但它的成本。

如果您只希望用戶使用此功能,可以免費使用,但與之前的選項幾乎相同,只需取出VOIP提供商即可。

+0

你是說他們打開某種GSM插座並傳輸語音數據?此外,他們說,用戶將收取通過GSM撥打電話。所以我覺得硬件必須考慮這個問題。請注意,我沒有親自使用該應用程序。讓我實際驗證它在使用和回來時的外觀。 – Plumenator 2010-04-21 08:38:36

+0

電話的操作系統/硬件最難被認爲是「通話」。沒有任何公開的API允許應用程序在不離開應用程序的情況下進行「通話」。此外,他們的應用程序可以在iPad和iPod touch上運行,並且不支持手機通話。 IE將無法使用無線提供商提供的語音分鐘。對於您的無線提供商,它就像您的手機發送/接收的任何其他數據一樣。因此,如果您支付x數量的數據並且VOIP導致您超過該數據,您可以支付其使用費用。 – jamone 2010-04-21 12:18:19

+0

對於iPhone OS上的任何VOIP應用程序,他們並不關心您所處的網絡類型:WiFi,EDGE或3G。該應用程序只關心是否可以連接互聯網,如果可以,則打開與Truphone服務器的網絡連接。之前在EDGE/3G上使用VOIP的唯一原因是因爲手機供應商不希望人們在沒有使用語音分鐘的情況下使用手機進行語音通話,因此他們讓Apple禁止使用3G的VOIP應用。 – jamone 2010-04-21 12:22:00