Lines Matching refs:participant

145 …ChannelPtr channel, PBX_CHANNEL_TYPE * pbxChannel, constParticipantPtr participant, uint32_t confe…
146 int playback_to_channel(participantPtr participant, const char *filename, int say_number);
153 …c_on_hold_to_participant(constConferencePtr conference, participantPtr participant, boolean_t star…
155 …p_conference_addParticipant_toList(constConferencePtr conference, constParticipantPtr participant);
159 void __sccp_conference_hide_list(participantPtr participant);
161 void sccp_conference_kick_participant(constConferencePtr conference, participantPtr participant);
163 …sccp_conference_toggle_mute_participant(constConferencePtr conference, participantPtr participant);
164 …ce_promote_demote_participant(conferencePtr conference, participantPtr participant, constParticipa…
228 sccp_participant_t * participant = (sccp_participant_t *)data; in __sccp_participant_destroy() local
229 …SCCPCONF/%04d: Destroying participant %d %p\n", participant->conference->id, participant->id, part… in __sccp_participant_destroy()
231 if (participant->isModerator && participant->conference) { in __sccp_participant_destroy()
232 participant->conference->num_moderators--; in __sccp_participant_destroy()
234 pbx_bridge_features_cleanup(&participant->features); in __sccp_participant_destroy()
245 …ave", "ConfId: %d\r\n" "PartId: %d\r\n", participant->conference ? participant->conference->id : 0… in __sccp_participant_destroy()
248 if (participant->channel) { in __sccp_participant_destroy()
250 sccp_refcount_removeRelationship(participant->channel, participant); in __sccp_participant_destroy()
252 participant->channel->conference_id = 0; in __sccp_participant_destroy()
253 participant->channel->conference_participant_id = 0; in __sccp_participant_destroy()
254 if (participant->channel->conference) { in __sccp_participant_destroy()
255 sccp_conference_release(&participant->channel->conference); /* explicit release */ in __sccp_participant_destroy()
257 sccp_channel_release(&participant->channel); /* explicit release */ in __sccp_participant_destroy()
259 if (participant->device) { in __sccp_participant_destroy()
261 sccp_refcount_removeRelationship(participant->device, participant); in __sccp_participant_destroy()
263 participant->device->conferencelist_active = FALSE; in __sccp_participant_destroy()
264 if (participant->device->conference) { in __sccp_participant_destroy()
265 sccp_conference_release(&participant->device->conference); /* explicit release */ in __sccp_participant_destroy()
267 sccp_device_release(&participant->device); /* explicit release */ in __sccp_participant_destroy()
269 sccp_conference_release(&participant->conference); /* explicit release */ in __sccp_participant_destroy()
354 AUTO_RELEASE(sccp_participant_t, participant , sccp_conference_createParticipant(conference)); in sccp_conference_create()
356 if (participant) { in sccp_conference_create()
358 sccp_refcount_addRelationship(device, participant); in sccp_conference_create()
359 sccp_refcount_addRelationship(channel, participant); in sccp_conference_create()
362 participant->channel = sccp_channel_retain(channel); in sccp_conference_create()
363 participant->device = sccp_device_retain(device); in sccp_conference_create()
364 participant->conferenceBridgePeer = channel->owner; in sccp_conference_create()
365 …sccp_conference_update_callInfo(channel, participant->conferenceBridgePeer, participant, conferenc… in sccp_conference_create()
368 …if (pbx_pthread_create_background(&participant->joinThread, NULL, sccp_conference_thread, particip… in sccp_conference_create()
373 sccp_conference_addParticipant_toList(conference, participant); in sccp_conference_create()
374 participant->channel->conference = sccp_conference_retain(conference); in sccp_conference_create()
375 participant->channel->conference_id = conference->id; in sccp_conference_create()
376 participant->channel->conference_participant_id = participant->id; in sccp_conference_create()
377 participant->playback_announcements = device->conf_play_part_announce; in sccp_conference_create()
379 …sccp_conference_update_callInfo(channel, participant->conferenceBridgePeer, participant, conferenc… in sccp_conference_create()
381 iPbx.setChannelLinkedId(participant->channel, conference->linkedid); in sccp_conference_create()
383 participant->isModerator = TRUE; in sccp_conference_create()
386 …pbx_builtin_setvar_int_helper(channel->owner, "__SCCP_CONFERENCE_PARTICIPANT_ID", participant->id); in sccp_conference_create()
387 … Added Moderator %d (Channel: %s)\n", conference->id, participant->id, pbx_channel_name(participan… in sccp_conference_create()
410 sccp_participant_t *participant = NULL; in sccp_conference_createParticipant() local
417participant = (sccp_participant_t *) sccp_refcount_object_alloc(sizeof(sccp_participant_t), SCCP_R… in sccp_conference_createParticipant()
418 if (!participant) { in sccp_conference_createParticipant()
423 sccp_refcount_addRelationship(conference, participant); in sccp_conference_createParticipant()
425 pbx_bridge_features_init(&participant->features); in sccp_conference_createParticipant()
428 participant->id = participantID; in sccp_conference_createParticipant()
429 participant->conference = sccp_conference_retain(conference); in sccp_conference_createParticipant()
430 participant->conferenceBridgePeer = NULL; in sccp_conference_createParticipant()
431 participant->playback_announcements = conference->playback_announcements; // default in sccp_conference_createParticipant()
432 participant->onMusicOnHold = FALSE; in sccp_conference_createParticipant()
434 …_CONFERENCE)) (VERBOSE_PREFIX_3 "SCCP: Participant: %d will be muted on entry\n", participant->id); in sccp_conference_createParticipant()
435 participant->features.mute = 1; in sccp_conference_createParticipant()
436 participant->features.dtmf_passthrough = 1; in sccp_conference_createParticipant()
439 return participant; in sccp_conference_createParticipant()
455 …AUTO_RELEASE(sccp_participant_t, participant , sccp_participant_findByPBXChannel(conference, bridg… in sccp_conference_connect_bridge_channels_to_participants()
457 if (participant && participant->bridge_channel != bridge_channel) { in sccp_conference_connect_bridge_channels_to_participants()
458 …nnecting Bridge Channel %p to Participant %d.\n", conference->id, bridge_channel, participant->id); in sccp_conference_connect_bridge_channels_to_participants()
459 participant->bridge_channel = bridge_channel; in sccp_conference_connect_bridge_channels_to_participants()
460 if(participant->isModerator) { in sccp_conference_connect_bridge_channels_to_participants()
461 sccp_device_t * device = participant->device; in sccp_conference_connect_bridge_channels_to_participants()
462 sccp_channel_t * channel = participant->channel; in sccp_conference_connect_bridge_channels_to_participants()
478 …L_TYPE * participant_ast_channel, sccp_conference_t * conference, sccp_participant_t * participant) in sccp_conference_masqueradeChannel() argument
480 if (participant && participant_ast_channel) { in sccp_conference_masqueradeChannel()
481 if (!(iPbx.allocTempPBXChannel(participant_ast_channel, &participant->conferenceBridgePeer))) { in sccp_conference_masqueradeChannel()
483 pbx_hangup(participant->conferenceBridgePeer); in sccp_conference_masqueradeChannel()
487 if (!iPbx.masqueradeHelper(participant_ast_channel, participant->conferenceBridgePeer)) { in sccp_conference_masqueradeChannel()
489 pbx_hangup(participant->conferenceBridgePeer); in sccp_conference_masqueradeChannel()
493 pbx_channel_ref(participant->conferenceBridgePeer); in sccp_conference_masqueradeChannel()
494 …if (pbx_pthread_create_background(&participant->joinThread, NULL, sccp_conference_thread, particip… in sccp_conference_masqueradeChannel()
495 pbx_hangup(participant->conferenceBridgePeer); in sccp_conference_masqueradeChannel()
496 pbx_channel_unref(participant->conferenceBridgePeer); in sccp_conference_masqueradeChannel()
499 …dded Participant %d (Channel: %s)\n", conference->id, participant->id, pbx_channel_name(participan… in sccp_conference_masqueradeChannel()
509 …cp_conference_addParticipant_toList(constConferencePtr conference, constParticipantPtr participant) in sccp_conference_addParticipant_toList() argument
515 if ((tmpParticipant = sccp_participant_retain(participant))) { in sccp_conference_addParticipant_toList()
524 …ChannelPtr channel, PBX_CHANNEL_TYPE * pbxChannel, constParticipantPtr participant, uint32_t confe… in sccp_conference_update_callInfo() argument
535 SCCP_CALLINFO_CALLINGPARTY_NAME, &participant->PartyName, in sccp_conference_update_callInfo()
536 SCCP_CALLINFO_CALLINGPARTY_NUMBER, &participant->PartyNumber, in sccp_conference_update_callInfo()
539 SCCP_CALLINFO_ORIG_CALLINGPARTY_NAME, participant->PartyName, in sccp_conference_update_callInfo()
540 SCCP_CALLINFO_ORIG_CALLINGPARTY_NUMBER, participant->PartyNumber, in sccp_conference_update_callInfo()
550 SCCP_CALLINFO_CALLEDPARTY_NAME, &participant->PartyName, in sccp_conference_update_callInfo()
551 SCCP_CALLINFO_CALLEDPARTY_NUMBER, &participant->PartyNumber, in sccp_conference_update_callInfo()
554 SCCP_CALLINFO_ORIG_CALLEDPARTY_NAME, participant->PartyName, in sccp_conference_update_callInfo()
555 SCCP_CALLINFO_ORIG_CALLEDPARTY_NUMBER, participant->PartyNumber, in sccp_conference_update_callInfo()
616 AUTO_RELEASE(sccp_participant_t, participant , sccp_conference_createParticipant(conference)); in sccp_conference_addParticipatingChannel()
618 if (participant) { in sccp_conference_addParticipatingChannel()
619 …"SCCPCONF/%04d: Adding participant %d (Channel %s)\n", conference->id, participant->id, pbx_channe… in sccp_conference_addParticipatingChannel()
621 …sccp_conference_update_callInfo(originalSCCPChannel, pbxChannel, participant, conference->id); // … in sccp_conference_addParticipatingChannel()
627 participant->playback_announcements = device->conf_play_part_announce; in sccp_conference_addParticipatingChannel()
630 sccp_refcount_addRelationship(device, participant); in sccp_conference_addParticipatingChannel()
631 sccp_refcount_addRelationship(channel, participant); in sccp_conference_addParticipatingChannel()
634 participant->playback_announcements = conference->playback_announcements; in sccp_conference_addParticipatingChannel()
637 if (sccp_conference_masqueradeChannel(pbxChannel, conference, participant)) { in sccp_conference_addParticipatingChannel()
638 sccp_conference_addParticipant_toList(conference, participant); in sccp_conference_addParticipatingChannel()
640 participant->channel = sccp_channel_retain(channel); in sccp_conference_addParticipatingChannel()
641 participant->device = sccp_device_retain(device); in sccp_conference_addParticipatingChannel()
643 participant->channel->conference = sccp_conference_retain(conference); in sccp_conference_addParticipatingChannel()
644 participant->channel->conference_id = conference->id; in sccp_conference_addParticipatingChannel()
645 participant->channel->conference_participant_id = participant->id; in sccp_conference_addParticipatingChannel()
646 participant->playback_announcements = device->conf_play_part_announce; in sccp_conference_addParticipatingChannel()
649 iPbx.setPBXChannelLinkedId(participant->conferenceBridgePeer, conference->linkedid); in sccp_conference_addParticipatingChannel()
651 …pbx_builtin_setvar_int_helper(participant->conferenceBridgePeer, "__SCCP_CONFERENCE_ID", conferenc… in sccp_conference_addParticipatingChannel()
652 …pbx_builtin_setvar_int_helper(participant->conferenceBridgePeer, "__SCCP_CONFERENCE_PARTICIPANT_ID… in sccp_conference_addParticipatingChannel()
654 pbx_indicate(participant->conferenceBridgePeer, AST_CONTROL_CONNECTED_LINE); in sccp_conference_addParticipatingChannel()
673 static void sccp_conference_removeParticipant(conferencePtr conference, participantPtr participant) in sccp_conference_removeParticipant() argument
677 if (!conference || !participant) { in sccp_conference_removeParticipant()
681 …)) (VERBOSE_PREFIX_4 "SCCPCONF/%04d: Removing Participant %d.\n", conference->id, participant->id); in sccp_conference_removeParticipant()
684 …rticipant, SCCP_RWLIST_REMOVE(&conference->participants, (sccp_participant_t *)participant, list)); in sccp_conference_removeParticipant()
692 playback_to_conference(conference, "conf-hasleft", participant->id); in sccp_conference_removeParticipant()
705 AUTO_RELEASE(sccp_participant_t, participant , sccp_participant_retain(data)); in sccp_conference_thread()
707 if (participant && participant->conference && participant->conference->bridge) { in sccp_conference_thread()
708 …CAT_HIGH)) (VERBOSE_PREFIX_4 "SCCPCONF/%04d: entering join thread.\n", participant->conference->id… in sccp_conference_thread()
711participant->conference ? participant->conference->id : 0, participant->id, participant->conferenc… in sccp_conference_thread()
715 …pbx_bridge_join: %s as %d\n", participant->conference->id, pbx_channel_name(participant->conferenc… in sccp_conference_thread()
728 …pbx_bridge_join(participant->conference->bridge, participant->conferenceBridgePeer, NULL, &partici… in sccp_conference_thread()
730 …pbx_bridge_join(participant->conference->bridge, participant->conferenceBridgePeer, NULL, &partici… in sccp_conference_thread()
732 participant->pendingRemoval = TRUE; in sccp_conference_thread()
734 …pbx_bridge_join: %s as %d\n", participant->conference->id, pbx_channel_name(participant->conferenc… in sccp_conference_thread()
737participant->conference ? participant->conference->id : 0, participant->id, participant->conferenc… in sccp_conference_thread()
740 if (participant->channel && participant->device) { in sccp_conference_thread()
741 __sccp_conference_hide_list(participant); in sccp_conference_thread()
744 if (participant->conferenceBridgePeer) { in sccp_conference_thread()
745 if (participant->final_announcement) { in sccp_conference_thread()
746 pbx_stream_and_wait(participant->conferenceBridgePeer, participant->final_announcement, ""); in sccp_conference_thread()
747 sccp_free(participant->final_announcement); in sccp_conference_thread()
749 if (pbx_test_flag(pbx_channel_flags(participant->conferenceBridgePeer), AST_FLAG_BLOCKING)) { in sccp_conference_thread()
750 ast_softhangup(participant->conferenceBridgePeer, AST_SOFTHANGUP_DEV); in sccp_conference_thread()
752 pbx_hangup(participant->conferenceBridgePeer); in sccp_conference_thread()
754 participant->conferenceBridgePeer = NULL; in sccp_conference_thread()
756 sccp_conference_removeParticipant(participant->conference, participant); in sccp_conference_thread()
757 participant->joinThread = AST_PTHREADT_NULL; in sccp_conference_thread()
759 …r conference->bridge\n", (participant && participant->conference) ? participant->conference->id : … in sccp_conference_thread()
792 sccp_participant_t *participant = NULL; in sccp_conference_end() local
807 SCCP_RWLIST_TRAVERSE_SAFE_BEGIN(&conference->participants, participant, list) { in sccp_conference_end()
808 …if (!participant->isModerator && !participant->pendingRemoval) { // remove the participants fir… in sccp_conference_end()
809 if (pbx_bridge_remove(participant->conference->bridge, participant->conferenceBridgePeer)) { in sccp_conference_end()
815 SCCP_RWLIST_TRAVERSE_SAFE_BEGIN(&conference->participants, participant, list) { in sccp_conference_end()
816 …if (participant->isModerator && !participant->pendingRemoval) { // and then remove the moderat… in sccp_conference_end()
817 pbx_bridge_remove(participant->conference->bridge, participant->conferenceBridgePeer); in sccp_conference_end()
841 sccp_participant_t *participant = NULL; in sccp_conference_hold() local
852 SCCP_RWLIST_TRAVERSE(&conference->participants, participant, list) { in sccp_conference_hold()
853 if (participant->isModerator == FALSE) { in sccp_conference_hold()
854 sccp_conference_play_music_on_hold_to_participant(conference, participant, TRUE); in sccp_conference_hold()
856 participant->device->conferencelist_active = FALSE; in sccp_conference_hold()
868 sccp_participant_t *participant = NULL; in sccp_conference_resume() local
878 SCCP_RWLIST_TRAVERSE(&conference->participants, participant, list) { in sccp_conference_resume()
879 if (participant->isModerator == FALSE) { in sccp_conference_resume()
880 sccp_conference_play_music_on_hold_to_participant(conference, participant, FALSE); in sccp_conference_resume()
914 int playback_to_channel(participantPtr participant, const char *filename, int say_number) in playback_to_channel() argument
918 if (!participant->playback_announcements) { in playback_to_channel()
919 …CPCONF/%04d: Playback for participant %d suppressed\n", participant->conference->id, participant->… in playback_to_channel()
922 if (participant->bridge_channel) { in playback_to_channel()
923 …/%04d: Playback %s %d for participant %d\n", participant->conference->id, filename, say_number, pa… in playback_to_channel()
925 pbx_bridge_lock(participant->conference->bridge); in playback_to_channel()
926 res = pbx_bridge_suspend(participant->conference->bridge, participant->conferenceBridgePeer); in playback_to_channel()
927 pbx_bridge_unlock(participant->conference->bridge); in playback_to_channel()
930 if (stream_and_wait(participant->bridge_channel->chan, filename, say_number)) { in playback_to_channel()
935 pbx_bridge_lock(participant->conference->bridge); in playback_to_channel()
936 pbx_bridge_unsuspend(participant->conference->bridge, participant->conferenceBridgePeer); in playback_to_channel()
937 pbx_bridge_unlock(participant->conference->bridge); in playback_to_channel()
942 …) (VERBOSE_PREFIX_4 "SCCPCONF/%04d: No bridge channel for playback\n", participant->conference->id… in playback_to_channel()
1110 sccp_participant_t *participant = NULL; in sccp_participant_findByID() local
1116 SCCP_RWLIST_TRAVERSE(&conference->participants, participant, list) { in sccp_participant_findByID()
1117 if (participant->id == identifier) { in sccp_participant_findByID()
1118 participant = sccp_participant_retain(participant); in sccp_participant_findByID()
1123 return participant; in sccp_participant_findByID()
1131 sccp_participant_t *participant = NULL; in sccp_participant_findByChannel() local
1137 SCCP_RWLIST_TRAVERSE(&conference->participants, participant, list) { in sccp_participant_findByChannel()
1138 if (participant->channel == channel) { in sccp_participant_findByChannel()
1139 participant = sccp_participant_retain(participant); in sccp_participant_findByChannel()
1144 return participant; in sccp_participant_findByChannel()
1152 sccp_participant_t *participant = NULL; in sccp_participant_findByDevice() local
1158 SCCP_RWLIST_TRAVERSE(&conference->participants, participant, list) { in sccp_participant_findByDevice()
1159 if (participant->device == device) { in sccp_participant_findByDevice()
1160 participant = sccp_participant_retain(participant); in sccp_participant_findByDevice()
1165 return participant; in sccp_participant_findByDevice()
1173 sccp_participant_t *participant = NULL; in sccp_participant_findByPBXChannel() local
1179 SCCP_RWLIST_TRAVERSE(&conference->participants, participant, list) { in sccp_participant_findByPBXChannel()
1180 if (participant->conferenceBridgePeer == channel) { in sccp_participant_findByPBXChannel()
1181 participant = sccp_participant_retain(participant); in sccp_participant_findByPBXChannel()
1187 return participant; in sccp_participant_findByPBXChannel()
1217 …AUTO_RELEASE(sccp_participant_t, participant , sccp_participant_findByChannel(conference, channel)… in sccp_conference_show_list()
1219 if (!participant) { in sccp_conference_show_list()
1227 if (participant->device) { in sccp_conference_show_list()
1228 participant->device->conferencelist_active = TRUE; in sccp_conference_show_list()
1229 if (!participant->callReference) { in sccp_conference_show_list()
1230 participant->callReference = channel->callid; in sccp_conference_show_list()
1231 participant->lineInstance = conference->id; in sccp_conference_show_list()
1232 participant->transactionID = sccp_random() % 1000; in sccp_conference_show_list()
1238 if (participant->device->protocolversion >= 15) { in sccp_conference_show_list()
1239 if (participant->device->hasEnhancedIconMenuSupport()) { in sccp_conference_show_list()
1285 …UserCallData:%d:%d:%d:%d:%d</URL>", appID, participant->lineInstance, participant->callReference, in sccp_conference_show_list()
1291 if (participant->isModerator) { in sccp_conference_show_list()
1296 …pbx_str_append(&xmlStr, 0, "<URL>UserDataSoftKey:Select:%d:ENDCONF/%d</URL>", appID, participant->… in sccp_conference_show_list()
1302 …pbx_str_append(&xmlStr, 0, "<URL>UserDataSoftKey:Select:%d:MUTE/%d</URL>", appID, participant->tra… in sccp_conference_show_list()
1309 …pbx_str_append(&xmlStr, 0, "<URL>UserDataSoftKey:Select:%d:KICK/%d</URL>", appID, participant->tra… in sccp_conference_show_list()
1317 if (participant->isModerator) { in sccp_conference_show_list()
1321 …&xmlStr, 0, "<URL>UserDataSoftKey:Select:%d:MODERATE/%d</URL>", appID, participant->transactionID); in sccp_conference_show_list()
1327 …RL>UserDataSoftKey:Select:%d:INVITE/%d/%d</URL>", appID, participant->lineInstance, participant->t… in sccp_conference_show_list()
1332 if (participant->device->protocolversion >= 15) { in sccp_conference_show_list()
1333 if (participant->device->hasEnhancedIconMenuSupport()) { in sccp_conference_show_list()
1355 if (participant->device->protocolversion >= 15) { in sccp_conference_show_list()
1360 …ransactionID %d\n", conference->id, appID, participant->callReference, participant->lineInstance, in sccp_conference_show_list()
1363participant->device->protocol->sendUserToDeviceDataVersionMessage(participant->device, appID, part… in sccp_conference_show_list()
1370 void __sccp_conference_hide_list(participantPtr participant) in __sccp_conference_hide_list() argument
1372 if (participant->channel && participant->device && participant->conference) { in __sccp_conference_hide_list()
1373 if (participant->device->conferencelist_active) { in __sccp_conference_hide_list()
1374 … "SCCPCONF/%04d: Hide Conf List for participant: %d\n", participant->conference->id, participant->… in __sccp_conference_hide_list()
1376 …if (participant->device->protocolversion >= 15 /* && participant->device->hasEnhancedIconMenuSuppo… in __sccp_conference_hide_list()
1382participant->device->protocol->sendUserToDeviceDataVersionMessage(participant->device, appID, part… in __sccp_conference_hide_list()
1383 participant->device->conferencelist_active = FALSE; in __sccp_conference_hide_list()
1395 … AUTO_RELEASE(sccp_participant_t, participant , sccp_participant_findByDevice(conference, device)); in sccp_conference_hide_list_ByDevice()
1397 if (participant && participant->channel && participant->device) { in sccp_conference_hide_list_ByDevice()
1398 __sccp_conference_hide_list(participant); in sccp_conference_hide_list_ByDevice()
1410 sccp_participant_t *participant = NULL; in sccp_conference_update_conflist() local
1416 SCCP_RWLIST_TRAVERSE(&(conference->participants), participant, list) { in sccp_conference_update_conflist()
1417 …if (participant->channel && participant->device && (participant->device->conferencelist_active || … in sccp_conference_update_conflist()
1418 sccp_conference_show_list(conference, participant->channel); in sccp_conference_update_conflist()
1438 …AUTO_RELEASE(sccp_participant_t, participant , sccp_participant_findByID(conference, participantID… in sccp_conference_handle_device_to_user()
1440 if (!participant) { in sccp_conference_handle_device_to_user()
1454 sccp_conference_toggle_mute_participant(conference, participant); in sccp_conference_handle_device_to_user()
1456 if (participant->isModerator) { in sccp_conference_handle_device_to_user()
1460 sccp_threadpool_add_work(GLOB(general_threadpool), sccp_participant_kicker, participant); in sccp_conference_handle_device_to_user()
1469 sccp_conference_promote_demote_participant(conference, participant, moderator); in sccp_conference_handle_device_to_user()
1487 void sccp_conference_kick_participant(constConferencePtr conference, participantPtr participant) in sccp_conference_kick_participant() argument
1489 …RENCE)) (VERBOSE_PREFIX_3 "SCCPCONF/%04d: Kick Participant %d\n", conference->id, participant->id); in sccp_conference_kick_participant()
1490 participant->pendingRemoval = TRUE; in sccp_conference_kick_participant()
1492 pbx_bridge_lock(participant->conference->bridge); in sccp_conference_kick_participant()
1493 pbx_bridge_suspend(participant->conference->bridge, participant->conferenceBridgePeer); in sccp_conference_kick_participant()
1494 pbx_bridge_unlock(participant->conference->bridge); in sccp_conference_kick_participant()
1496 participant->final_announcement = pbx_strdup("conf-kicked"); in sccp_conference_kick_participant()
1499 if (pbx_bridge_remove(participant->conference->bridge, participant->conferenceBridgePeer)) { in sccp_conference_kick_participant()
1501 participant->pendingRemoval = FALSE; in sccp_conference_kick_participant()
1506 …, "SCCPConfParticipantKicked", "ConfId: %d\r\n" "PartId: %d\r\n", conference->id, participant->id); in sccp_conference_kick_participant()
1513 AUTO_RELEASE(sccp_participant_t, participant , sccp_participant_retain(data)); in sccp_participant_kicker()
1514 if (participant) { in sccp_participant_kicker()
1515 sccp_conference_kick_participant(participant->conference, participant); in sccp_participant_kicker()
1525 …d sccp_conference_toggle_lock_conference(conferencePtr conference, constParticipantPtr participant)
1529 …playback_to_channel(participant, (conference->isLocked ? "conf-lockednow" : "conf-unlockednow"), -…
1542 … sccp_conference_toggle_mute_participant(constConferencePtr conference, participantPtr participant) in sccp_conference_toggle_mute_participant() argument
1544 …RENCE)) (VERBOSE_PREFIX_3 "SCCPCONF/%04d: Mute Participant %d\n", conference->id, participant->id); in sccp_conference_toggle_mute_participant()
1545 if (!participant->features.mute) { in sccp_conference_toggle_mute_participant()
1546 participant->features.mute = 1; in sccp_conference_toggle_mute_participant()
1547 participant->features.dtmf_passthrough = 1; in sccp_conference_toggle_mute_participant()
1548 playback_to_channel(participant, "conf-muted", -1); in sccp_conference_toggle_mute_participant()
1553 participant->features.mute = 0; in sccp_conference_toggle_mute_participant()
1554 participant->features.dtmf_passthrough = 0; in sccp_conference_toggle_mute_participant()
1555 playback_to_channel(participant, "conf-unmuted", -1); in sccp_conference_toggle_mute_participant()
1560 if (participant->channel && participant->device) { in sccp_conference_toggle_mute_participant()
1561 …sccp_dev_set_message(participant->device, participant->features.mute ? "You are muted" : "You are … in sccp_conference_toggle_mute_participant()
1565 …fId: %d\r\n" "PartId: %d\r\n" "Mute: %s\r\n", conference->id, participant->id, participant->featur… in sccp_conference_toggle_mute_participant()
1574 …c_on_hold_to_participant(constConferencePtr conference, participantPtr participant, boolean_t star… in sccp_conference_play_music_on_hold_to_participant() argument
1576 if (!participant->channel || !participant->device) { in sccp_conference_play_music_on_hold_to_participant()
1580 …"SCCPCONF/%04d: Start Playing Music on hold to Participant %d\n", conference->id, participant->id); in sccp_conference_play_music_on_hold_to_participant()
1581 if (participant->onMusicOnHold == FALSE) { in sccp_conference_play_music_on_hold_to_participant()
1582 if (!sccp_strlen_zero(participant->device->conf_music_on_hold_class)) { in sccp_conference_play_music_on_hold_to_participant()
1583 pbx_bridge_lock(participant->conference->bridge); in sccp_conference_play_music_on_hold_to_participant()
1584 … int res = pbx_bridge_suspend(participant->conference->bridge, participant->conferenceBridgePeer); in sccp_conference_play_music_on_hold_to_participant()
1585 pbx_bridge_unlock(participant->conference->bridge); in sccp_conference_play_music_on_hold_to_participant()
1587 …iPbx.moh_start(participant->conferenceBridgePeer, participant->device->conf_music_on_hold_class, N… in sccp_conference_play_music_on_hold_to_participant()
1588 participant->onMusicOnHold = TRUE; in sccp_conference_play_music_on_hold_to_participant()
1591 pbx_bridge_unsuspend(((conferencePtr)conference)->bridge, participant->conferenceBridgePeer); in sccp_conference_play_music_on_hold_to_participant()
1595 sccp_conference_toggle_mute_participant(conference, participant); in sccp_conference_play_music_on_hold_to_participant()
1599 … "SCCPCONF/%04d: Stop Playing Music on hold to Participant %d\n", conference->id, participant->id); in sccp_conference_play_music_on_hold_to_participant()
1600 if (!sccp_strlen_zero(participant->device->conf_music_on_hold_class)) { in sccp_conference_play_music_on_hold_to_participant()
1601 pbx_bridge_lock(participant->conference->bridge); in sccp_conference_play_music_on_hold_to_participant()
1602 int res = pbx_bridge_suspend(participant->conference->bridge, participant->conferenceBridgePeer); in sccp_conference_play_music_on_hold_to_participant()
1603 pbx_bridge_unlock(participant->conference->bridge); in sccp_conference_play_music_on_hold_to_participant()
1605 iPbx.moh_stop(participant->conferenceBridgePeer); in sccp_conference_play_music_on_hold_to_participant()
1606 participant->onMusicOnHold = FALSE; in sccp_conference_play_music_on_hold_to_participant()
1609 pbx_bridge_unsuspend(((conferencePtr)conference)->bridge, participant->conferenceBridgePeer); in sccp_conference_play_music_on_hold_to_participant()
1613 sccp_conference_toggle_mute_participant(conference, participant); in sccp_conference_play_music_on_hold_to_participant()
1626 …ce_promote_demote_participant(conferencePtr conference, participantPtr participant, constParticipa… in sccp_conference_promote_demote_participant() argument
1628 if (participant->device && participant->channel) { in sccp_conference_promote_demote_participant()
1629 if (!participant->isModerator) { // promote in sccp_conference_promote_demote_participant()
1630 participant->isModerator = TRUE; in sccp_conference_promote_demote_participant()
1633 participant->device->conferencelist_active = TRUE; in sccp_conference_promote_demote_participant()
1634 participant->device->conference = sccp_conference_retain(conference); in sccp_conference_promote_demote_participant()
1635 sccp_softkey_setSoftkeyState(participant->device, KEYMODE_CONNCONF, SKINNY_LBL_JOIN, TRUE); in sccp_conference_promote_demote_participant()
1636 sccp_softkey_setSoftkeyState(participant->device, KEYMODE_CONNTRANS, SKINNY_LBL_JOIN, TRUE); in sccp_conference_promote_demote_participant()
1637 sccp_indicate(participant->device, participant->channel, SCCP_CHANNELSTATE_CONNECTEDCONFERENCE); in sccp_conference_promote_demote_participant()
1640 participant->isModerator = FALSE; in sccp_conference_promote_demote_participant()
1643 sccp_conference_release(&participant->device->conference); // explicit release in sccp_conference_promote_demote_participant()
1644 sccp_softkey_setSoftkeyState(participant->device, KEYMODE_CONNCONF, SKINNY_LBL_JOIN, FALSE); in sccp_conference_promote_demote_participant()
1645 sccp_softkey_setSoftkeyState(participant->device, KEYMODE_CONNTRANS, SKINNY_LBL_JOIN, FALSE); in sccp_conference_promote_demote_participant()
1646 sccp_indicate(participant->device, participant->channel, SCCP_CHANNELSTATE_CONNECTED); in sccp_conference_promote_demote_participant()
1654 …sccp_dev_set_message(participant->device, participant->isModerator ? "You have been Promoted" : "Y… in sccp_conference_promote_demote_participant()
1657 …%d\r\n" "PartId: %d\r\n" "Moderator: %s\r\n", conference->id, participant->id, participant->isMode… in sccp_conference_promote_demote_participant()
1790 sccp_participant_t *participant = NULL; in sccp_complete_conference() local
1797 SCCP_RWLIST_TRAVERSE(&conference->participants, participant, list) { in sccp_complete_conference()
1798 snprintf(tmpname, sizeof(tmpname), "%d", participant->id); in sccp_complete_conference()
1886 sccp_participant_t *participant = NULL; in sccp_cli_show_conference() local
1898 #define CLI_AMI_TABLE_LIST_ITER_VAR participant in sccp_cli_show_conference()
1903 CLI_AMI_TABLE_FIELD(Id, "3.3", d, 3, participant->id) \ in sccp_cli_show_conference()
1904 …I_TABLE_FIELD(ChannelName, "-20.20", s, 20, participant->conferenceBridgePeer ? pbx_channel_name(p… in sccp_cli_show_conference()
1905 … CLI_AMI_TABLE_FIELD(Moderator, "-11.11", s, 11, participant->isModerator ? "Yes" : "No") \ in sccp_cli_show_conference()
1906 CLI_AMI_TABLE_FIELD(Muted, "-5.5", s, 5, participant->features.mute ? "Yes" : "No") \ in sccp_cli_show_conference()
1907 …CLI_AMI_TABLE_FIELD(Announce, "-8.8", s, 8, participant->playback_announcements ? "Yes" : "No") … in sccp_cli_show_conference()
1908 …CLI_AMI_TABLE_FIELD(ConfList, "-8.8", s, 8, (participant->device && participant->device->confere… in sccp_cli_show_conference()
1961 AUTO_RELEASE(sccp_participant_t, participant , sccp_participant_findByID(conference, partid)); in sccp_cli_conference_command()
1963 if (participant) { in sccp_cli_conference_command()
1965 sccp_threadpool_add_work(GLOB(general_threadpool), sccp_participant_kicker, participant); in sccp_cli_conference_command()
1967 sccp_conference_toggle_mute_participant(conference, participant); in sccp_cli_conference_command()
1969 sccp_conference_invite_participant(conference, participant); in sccp_cli_conference_command()
1971 sccp_conference_promote_demote_participant(conference, participant, NULL); in sccp_cli_conference_command()