2014-10-12 4 views
0

Я создаю приложение с использованием HTML5 с поддержкой PHP. Это приложение будет преобразовано в APK и IPA с использованием Cordova/Phonegap. Мне нужно реализовать функцию вызова SIP (нажмите, чтобы позвонить).SIP-вызовы без SIP-клиента

Я установил сервер Kamailio SIP. Адрес SIP будет предварительно зарегистрирован и выделен для моих пользователей.

Для адресации (SIP-адрес) будет встроена гиперссылка, нажатие которой должно инициировать SIP-вызов между двумя SIP-адресами (Caller и Callee). У меня есть только функция звукового вызова в моем приложении.

Мне не нужен клиент SIP (у нас нет функции набора номера). Могу ли я совершать SIP-вызовы без SIP-клиента? Любая помощь будет оценена по достоинству.

Спасибо.

ответ

0

Могу ли я совершать SIP-вызовы без SIP-клиента?

По определению нет. Клиент SIP разговаривает с сервером SIP. Это не сильно отличается от HTTP-клиента, разговаривающего с HTTP-сервером, или клиента SMTP, разговаривающего с SMTP-сервером, или клиента IMAP, разговаривающего с сервером IMAP, или клиента SSH, разговаривающего с сервером SSH, и т. Д.

На Android, если пользователь настроил клиент SIP, и если клиент SIP поддерживает что-то вроде схемы sip:, возможно, вы сможете инициировать телефонный звонок на другую конечную точку SIP, хотя я предполагаю, что для этого потребуется обычная Cordova плагин. Я не могу говорить о том, что возможно в iOS. Я также не знаю, есть ли клиент HTML5/JavaScript SIP, который вы могли бы интегрировать, хотя я был бы несколько удивлен, если бы был один.

+0

Правильная реализация протокола SIP должна реализовывать как серверную, так и клиентскую части протокола, например, во время установленного диалога, например, вызываемый отправляет запрос вызывающему абоненту для удержания вызова. – Outtruder

0

Цитата: «Чтобы адрес (SIP-адрес) будет встроен в гиперссылку, нажатие на это должно инициировать SIP-вызов между двумя SIP-адресами (Caller и Callee)».

У вас есть ссылка, нажатие которой инициирует вызов. Таким образом, приложение работает как клиент, поэтому вам не нужен отдельный клиент. Единственное, что вам нужно сделать, - это обработать запрос SIP с SDP-носителями на более низкий уровень (TCP/IP).

Прокомментируйте, если я не ответил/правильно понял ваш вопрос.

0

Если вы имеете в виду без глотка приложения автономного клиента, то ответ да, потому что большинство click2call услуг работают именно таким образом (например .: https://clic2call.demo.sociale.it/webrtc).
Но, с другой стороны, вы должны учитывать, что в этом случае клиент sip более чем наполовину основан на реализации браузера WebRTC, и к настоящему времени Cordova и Phonegap не предоставляют эту функциональность, даже с внешним плагином.
Хорошей новостью является то, что Chrome поддерживает WebRTC на Android и всех настольных средах.

Смежные вопросы