2016-04-19 50 views
12

Próbuję zaimplementować scenariusz, w którym użytkownik aplikacji A może sprawić, że głos (wideo nie jest tak ważny teraz) zadzwonić do App-User B na Androida. Trudno jest znaleźć dobry samouczek, który obejmuje cały obraz. Jednak z moich badań udało mi się nauczyć kilku rzeczy, ale wciąż nie wystarczy, aby to zrobić.Implementowanie wywołań aplikacji do aplikacji w Androidzie

Z tego, czego się nauczyłem do tej pory, w celu realizacji połączeń między aplikacjami można użyć albo SIP, albo WebRTC. PJSIP wydaje się dość popularny. Po wielu wysiłkach udało mi się zbudować projekt pjsip, a także uruchomić przykładową aplikację pjsua2 na moim urządzeniu z Androidem, ale utknąłem w sekcji Ustawienia konta przykładowej aplikacji, ponieważ nie wiem, jak uzyskać dane uwierzytelniające, o które prosił (ID, rejestrator, proxy, nazwa użytkownika i hasło). Ponadto nie mogę uzyskać przyzwoitego samouczka dotyczącego nauki korzystania z bibliotek pjsip.

Spędziłem też trochę czasu na analizie WebRTC, który wygląda lepiej niż pjsip używając dżinsu, ale gdzie utknąłem, uzyskuję przydatne zasoby lub samouczki, jak skonfigurować serwer sygnalizacyjny i kilka innych wymaganych rzeczy, takich jak STUN, TURN , itp.

Mimo to ciągle mam na myśli, że (PJSIP lub WebRTC używające Jingle'a) zapewni najlepsze wrażenia pod względem jakości dźwięku/głosu i łatwości korzystania z przepustowości, ale przynajmniej chcę je po prostu zdobyć i działa bez problemów.

Podczas moich poszukiwań natknąłem się na API Sinch, które robi dokładnie to, czego chcę, ale z pewnych powodów powiedziano nam, żeby go nie używać.

Będę bardzo wdzięczny za punkt we właściwym kierunku i linki do zasobów edukacyjnych.

+1

The Sinch SDK to produkt, który sprawia, że ​​dodanie głos powołania i/lub komunikatory do aplikacji mobilnych łatwe. Obsługuje całą złożoność zarządzania sygnalizacją i audio, zapewniając jednocześnie swobodę tworzenia oszałamiającego interfejsu użytkownika.https: //www.sinch.com/docs/voice/android/ –

+1

@ExceptionLover Sinch SDK jest fajny, ale nie darmowy. Przy przewidywanym użyciu aplikacji używanie zestawu SDK Sinch byłoby niepraktyczne, ponieważ koszt byłby zbyt wysoki do utrzymania. Gdyby tak nie było, Sinch SDK właśnie rozwiązałby mój problem. –

+1

@ Mark Możesz wypróbować zestawy SDK Restcomm: Android (https://github.com/RestComm/restcomm-android-sdk), iOS (https://github.com/RestComm/restcomm-ios-sdk), Web (https://github.com/RestComm/restcomm-web-sdk). Są oparte na WebRTC i używają SIP pod osłonami do sygnalizacji. Są w pełni otwarte na licencji AGPL. Możesz również dodać swój wkład! – jeand

Odpowiedz

1

Możesz użyć ramki serwera asterisk, jak PIAF (pbx flash), bardzo ładnej kolekcji bardzo stabilnego produktu jako serwera SIP. Dla klienta takiego jak Android, iOS itp możesz użyć biblioteki pjsip. csipsimple to jeden z najlepszych androidowych interfejsów open source.

Free/Open Source Projects using PJSIP

Dla Piaf dalszego czytania można znaleźć tutaj: Getting Started with PBX in a Flash