2011-05-16 7 views
2

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

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

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

Screenshot 1

Screenshot 2

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

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

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

ответ

0

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

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

0

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

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