Прямой SIP звонок на IP - PullRequest
2 голосов
/ 17 мая 2011

Я программирую для своего конечного проекта приложение, которое должно иметь возможности VoIP. Я начал тестирование с новым SIP API, который входит в состав Android 2.3. Проблема в том, что я на самом деле живу в студенческом общежитии, поэтому я подключен к Интернету через прокси-сервер здания, и, похоже, у него строгий брандмауэр, который ничего не пропускает.

Я перепробовал несколько бесплатных SIP-серверов и клиентов, и результат всегда один и тот же: из своего UAC я вижу, подключены ли другие клиенты, я даже могу отправлять текстовые сообщения, но фактический вызов установить невозможно. Я никогда не получал никакого ответа от звонившего клиента. С помощью клиента Linphone я даже не могу подключиться к SIP-серверу для аутентификации.

Дело в том, что мне кажется, что я не могу звонить за пределы своего здания, но я успешно связался с клиентом Linphone, установленным на моем ПК, с другого клиента Linphone, установленного на эмуляторе. Очевидно, я могу совершать звонки внутри моей локальной сети без SIP-сервера, просто используя локальный адрес получателя вместо его SIP-домена.

Screenshot 1

Screenshot 2

Вопрос: можно ли сделать то же самое с новым Android 2.3 SIP API? Могу ли я позвонить внутри своей локальной сети , просто позвонив по локальному адресу получателя, без необходимости аутентификации на каком-либо SIP-сервере за пределами моего здания?

Поскольку мое приложение предназначено для демонстрации, мне этого будет достаточно. В течение последних трех дней я искал решение этой проблемы, но ничего полезного не нашел. : /

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 17 января 2017

Поскольку аудио- и видеоданные отправляются через номер порта, отличный от номера порта sip. SIP-порт - tcp, и вы можете войти в систему на своем SIP-сервере в Интернете. Но медиа-порт - это UDP, и вы находитесь за nat, и вы не можете позвонить. Для этого брандмауэр должен понимать sip-сообщения, а затем он должен открыть порт для UDP-медиа. Также вам нужен stun-сервер для сообщений обхода nat.

0 голосов
/ 18 мая 2011

Я не вижу причин, почему это не должно быть возможно в Android 2.3. Одноранговый вызов возможен с локальным адресом других клиентов с портом.

Вы также можете установить SIP-сервер Brekeke server на свой ПК. и вы можете использовать полный SIP URI для совершения звонков.

...