2016-09-03 15 views
0

Я работаю, чтобы сделать глоток клиентом для звонка. В качестве сервера моя компания использует звездочку (VOS3000). Сервер не поддерживает веб-сокет. И теперь я хочу знать, есть ли способ сделать клиент sip, использующий javascript в моей ситуации.Можно ли пересылать запросы sip через узел js-сервера на другой сервер звездочки?

Может быть, это глупо, но я думаю о решении, например, о создании узла js sip-сервера (возможно, используя sip.js), а затем все запросы, поступающие на этот сервер, будут перенаправлены на сервер asterisk. Является ли это возможным?

Или любое другое обходное решение?

ответ

1

Я не знаком с VOS3000, но версии Asterisk 11 и выше поддерживают WebRTC и SIP через WebSockets (чем лучше версия, тем лучше). Но если VOS3000 основан на старой версии Asterisk, иначе вы застряли, вы можете настроить шлюз для вызовов WebRTC. Есть несколько разумных направлений, которые вы могли бы пойти.

  1. B2BUA - вы можете запустить новую версию Asterisk (или FreeSWITCH), они должны звонить мост между sip.js звонков и ваш VOS3000. В основном это будет действовать как посредник в звонках и говорить на WebRTC на ваши приложения на основе sip.js и стандартный старый SIP на ваш VOS3000. Это, вероятно, было бы проще в двух маршрутах и ​​имело бы преимущество в том, что можно было выполнять трансляцию голосового кодека, если VOS3000 не поддерживает кодеки WebRTC (если не для видео, по крайней мере для голоса).

  2. Proxy + Media Gateway - вы можете запускать что-то вроде Kamailio для проксирования SIP-сигнализации из SIP через WebSockets в SIP через UDP и использовать rtpengine для преобразования DTRL-SRTP WebRTC в RTP. Это будет масштабироваться/работать лучше, но значительно сложнее получить правильную настройку. Это также не поможет вам преобразовать кодеки, если вам это нужно.

  3. Есть также поставщики услуг, которые будут шлюзовывать вызовы для вас, если вы не хотите управлять своим.

Хотя sip.js будет работать нормально на Node.js и что работает очень хорошо для чего-то обычая, который работает на узле, а также должно выступать в качестве пользователя SIP агента (по любой причине), кодирование до весь шлюз и/или прокси-сервер, похоже, будут работать, когда доступны другие варианты.