Одноранговый SIP-вызов с Android SIP Stack?

Я искал способ настроить стек Android SIP, чтобы иметь возможность устанавливать SIP-вызов между двумя устройствами в одной и той же сети, специальным образом. Т.е. без РЕГИСТРАЦИИ на сервер SIP.

Я не смог заставить это работать, поскольку SIP Demo включает в себя регистрацию сервера, и я не могу заставить его совершать или принимать вызов без этого шага.

Я даже не уверен, что это возможно. Небольшое упоминание об этом, которое я смог найти, противоречиво (некоторые говорят, что это может быть сделано с определенной настройкой, в которой они не говорят, что есть, а некоторые говорят, что Android SIP API для этого не предназначен).

Мне было интересно, есть ли у кого-нибудь это для работы или есть какие-то подсказки относительно того, как я могу настроить API для этого, так как я хотел бы использовать встроенный API SIP, прежде чем смотреть на сторонние.

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

Я застрял на той же проблеме.

Если вы можете сделать это без андроида sip api, вы можете посмотреть rtp api, который дает вам несколько инструментов нижнего уровня, чтобы сделать приложение P2P VOIP без необходимости сервера.

Чтобы поддерживать аудиоконференции и аналогичные способы использования, вам необходимо создать экземпляр двух классов в качестве конечных точек для потока:

AudioStream указывает удаленную конечную точку и состоит из сетевого сопоставления и настроенного AudioCodec. AudioGroup представляет локальную конечную точку для одного или нескольких AudioStream. AudioGroup смешивает все аудиопотоки и, возможно, одновременно взаимодействует с динамиком устройства и микрофоном.

Другим является то, что вы должны написать свой собственный протокол обнаружения устройств, чтобы узнать порт, используемый аудиоресурсом audiostream, как объяснено в этом ответе

Проблема не так сложна, если вы только собираетесь делать индивидуальную беседу, но немного сложнее, если вы хотите сделать разговор «один в один».

Для однонаправленного разговора хост конференции должен инициировать n аудиопоток для каждого удаленного устройства, которое он хочет вызвать. Каждый удаленный одноранговый узел имеет только один аудиопоток, связанный с одним из аудиопотоков хоста.

Вы можете сделать это с помощью CSipSimple, который является открытым исходным кодом: http://code.google.com/p/csipsimple/

Вы настраиваете локальные учетные записи, регистрируетесь на сервере вместо сервера, затем делаете телефонный звонок в режиме TXT и набираете имя_данных_ remote_ip_address.

Sip peer похож на добавочный номер, используемый для настройки в sip-телефоне. Подробнее о создании sip peer. Я использую centos 6.9 64 бит и установил звездочку 11 Вы можете создать sip peer, используя сервер asterisk. Перейти к vi /etc/asterisk/sip.conf

[1001] username=1001 secret=123 qualify=yes type=friend disallow=all allow=ulaw,alaw,gsm host=dynamic 

Для более детального и легкого понимания. См. Ниже ссылку

 https://youtu.be/27wm-fu25SM 

или

 http://rulariteducation.blogspot.in/2017/07/how-to-add-sip-peer-in-asterisk.html