Я использую PJSIP 2.0, Xcode 7.3 и ios 9.2.1, Предположим, у нас есть 3 пользователя A, B & C пользователь.
Когда-либо вызов B (его рабочий режим), но когда A добавляет член C в вызове (в качестве конференц-вызова), тогда A & B может связываться с C, но C никогда не получает Голос от B. (C & Общающийся штраф). Итак, как управлять связью между C & B.Как сделать конференцию PJSIP с Asterisk iOS (Добавить нового участника в конференцию)?
2
A
ответ
0
Вы можете использовать последнюю версию pjsip ios library 2.5 и другой вызов. Во-вторых, используется webservice для получения вызовов и перенаправления каналов для консоли для звездочки в качестве sip-сервера.
Если вы используете другой медиа-сервер, тогда также передайте данные.
0
Этот код работает отлично для меня, нужно только объединить слот pjsua_conf_connect() 0 1 и, что является нашим требованием.
static void on_call_media_state(pjsua_call_id call_id)
{
pjsua_call_info ci;
SiphonApplication *app = (SiphonApplication *)[SiphonApplication sharedApplication];
pjsua_call_get_info(call_id, &ci);
// PJ_LOG(3,(THIS_FILE,"on_call_media_state status %d count %d",
// ci.media_status
// pjmedia_conf_get_connect_count()));
/* FIXME: Stop ringback */
sip_ring_stop([app pjsipConfig]);
/* Connect ports appropriately when media status is ACTIVE or REMOTE HOLD,
* otherwise we should NOT connect the ports.
*/
pjsua_call_media_status slotOne = ci.media_status;
if (slotOne == PJSUA_CALL_MEDIA_ACTIVE ||
slotOne == PJSUA_CALL_MEDIA_REMOTE_HOLD)
{
// When media is active, connect call to sound device.
pjsua_conf_connect(ci.conf_slot, 0);
pjsua_conf_connect(0, ci.conf_slot);
pjsua_conf_adjust_rx_level(0, 3.0);
pjsua_conf_adjust_tx_level(0, 5.0);
}
[[NSUserDefaults standardUserDefaults] setObject: @"CallIsRunning"forKey:@"CallIsRunning"];
if (ci.media_status == PJSUA_CALL_MEDIA_ACTIVE) { // When media is active, connect call to sound device.
pjsua_conf_port_id slotOne = ci.conf_slot;
// pjsua_conf_connect(slotOne, 0);
// pjsua_conf_connect(0, slotOne);
//mergeCalls=true;
mergeCalls=false;
int max=pjsua_call_get_count();
if (max==2) {
[[NSUserDefaults standardUserDefaults] setInteger:pjsua_call_get_count() forKey:@"callCountForCalling"];
mergeCalls=true;
}
NSString *grpID= [[NSUserDefaults standardUserDefaults] objectForKey:@"callerTypegroup"];
// if ([[[NSUserDefaults standardUserDefaults] objectForKey:@"callerTypegroup"] length]>1)
if (mergeCalls == true && grpID.length==0) {
pjsua_conf_port_id slotTwo = pjsua_call_get_conf_port(activeCallID);
pjsua_conf_connect(slotOne, slotTwo);
pjsua_conf_connect(slotTwo, slotOne);
// since the "activeCallID" is already talking, its conf_port is already connected to "0" (and vice versa) ...
} else {
activeCallID = call_id;
}
} else if (ci.media_status == PJSUA_CALL_MEDIA_LOCAL_HOLD) {
// … callSuspended(callID);
}
}
Смежные вопросы
- 1. Как добавить новый вызов как конференцию PJSIP с сифоном
- 2. iOS Как позвонить на конференцию?
- 3. Как сделать конференцию в Windows Mobile
- 4. как начать конференцию с twilio?
- 5. Как назначить срок годности, когда последний пользователь покидает конференцию asterisk
- 6. Добавить клиентов на конференцию в Sinch
- 7. Добавление номера телефона в конференцию
- 8. Имейте Asterisk автоматически позвоните мне и другим на конференцию
- 9. Как завершить конференцию с помощью node.js?
- 10. Тройной исходящий звонок на конференцию
- 11. Как определить при входе в конференцию?
- 12. Исходящий звонок на конференцию с номера клиента
- 13. приглашаем вас на конференцию с помощью meetmeadmin?
- 14. Как бесплатный переключатель инициирует конференцию по расписанию
- 15. Twilio Queue превращается в конференцию, чтобы добавить нового клиента к вызову
- 16. Отправка чата на конференцию с использованием xmpp
- 17. XMPPFramework: только пассажирам разрешено отправлять сообщения на конференцию xmpp ios
- 18. Подключить исходящий вызов на конференцию lync
- 19. ConfBridge: закончите конференцию при выходе пользователя администратора
- 20. Как реализовать видеорекламу в реальном времени или конференцию?
- 21. Емкость конференции Asterisk: максимальное количество пользователей на конференцию, максимальная конференция на сервер?
- 22. Как переключить локальное видео без переключения звука на конференцию webrtc?
- 23. Звонок в Asterisk 13 с PJSIP
- 24. Elastix: есть ли способ настроить конференцию с бесконечной продолжительностью?
- 25. Как реализовать функцию отключения звука в вызове PJSIP на iOS
- 26. Служба Asterisk Media с opensips
- 27. Asterisk MeetMe Conference splitting
- 28. FreeSWITCH - как я могу позвонить, поговорить с человеком, а затем добавить его на конференцию?
- 29. Twilio - Как набрать номер третьей стороны и добавить его на конференцию?
- 30. Воспроизведение звукового файла Asterisk в ConfBridge?