私はPJSIP 2.0、Xcode 7.3、およびios 9.2.1を使用しています。 ユーザA、B &ユーザが3人いるとします。
Aコールが(会議通話として)AメンバーCを追加すると、Bへのコールがあった場合、A & BはCと通信できますが、CはボイスをBから取得できません(C & A通信は正常です)。したがって、C & Bの間の通信を管理する方法。Asterisk iOSで電話会議を行う方法(電話会議で新しいメンバーを追加する)?
2
A
答えて
0
pjsip ios library 2.5の最新ビルドと別の呼び出しを使用できます。 2番目はWebサービスを使用してコールを発信し、アスタリスクをSIPサーバとしてconfbridgeするためにチャネルをリダイレクトします。
他のメディアサーバーを使用している場合は、同様に詳細を共有します。
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. アスタリスク電話会議
- 2. Twilio発信電話会議
- 3. Windows Mobileで電話会議を行う方法
- 4. Twilio Queueは電話会議に参加して、新しいクライアントを電話に追加します
- 5. 電話会議に参加する際の識別方法は?
- 6. C#で電話会議をする(携帯電話ではない)UWP
- 7. プログラムで電話会議を開始する方法
- 8. Sinchの電話会議にクライアントを追加
- 9. Sinch:電話会議の参加者数を知る
- 10. twilio会議 - ダイヤルイン参加者の電話入力を取得
- 11. Twilioを使用してwaitUrlで電話会議を実装する方法は?
- 12. Twilio:電話会議を外出できますか?
- 13. Twilioクライアントの電話会議の参加者の人数
- 14. APIを提供する電話会議サービス?
- 15. A会議通話アプリ
- 16. iPhoneから会議通話
- 17. Twilioで電話会議の途中で電話をかけることはできますか?
- 18. 電話会議のためのAR ODGアプリケーション
- 19. Twilio通話を会議室に移動
- 20. EWSと会議、SendInvitationsMode.SendToNoneで会議を保存する方法
- 21. VOIP:pc-to-pc通話と会議
- 22. 会議通話のTwilioセキュリティPIN
- 23. iPhone用ビデオ通話/会議API
- 24. Magento:顧客会社と電話を「新規アカウント」に追加トランザクション電子メール
- 25. デルファイで追加会議用カレンダーを送信する方法
- 26. voIPのAndroidで会議通話が可能です
- 27. ASP.net会議でOutlookの会議をプログラムで更新するにはどうすればよいですか?
- 28. Twilio:会議でどの参加者が話しているかを検出する方法
- 29. Twilio:会議通話に参加したときのイベントをトリガーします。
- 30. 携帯電話や携帯電話で固定電話や携帯電話に電話をかける方法