Skip to main content

freeswitch_types/variables/
conference.rs

1//! Typed mod_conference channel variable names.
2
3sip_header::define_header_enum! {
4    tests_mod: conference_variable_generated_tests,
5    error_type: ParseConferenceVariableError => "unknown conference variable",
6    /// mod_conference channel variable names (the part after the `variable_` prefix).
7    ///
8    /// Use with [`HeaderLookup::variable()`](crate::HeaderLookup::variable) for
9    /// type-safe lookups.
10    pub enum ConferenceVariable {
11        // --- Set by mod_conference ---
12        ConferenceName => "conference_name",
13        /// The conference object's UUID, minted per conference instance.
14        ///
15        /// Not a correlation key on its own: a name is reusable as soon as the
16        /// conference holding it tears down, and this value reaches an event
17        /// stream only through a channel dump. A consumer grouping members
18        /// across a log without dumps has to mint its own instance identity.
19        ConferenceUuid => "conference_uuid",
20        ConferenceMemberId => "conference_member_id",
21        /// `true`/`false`.
22        ConferenceModerator => "conference_moderator",
23        /// `true`/`false`.
24        ConferenceGhost => "conference_ghost",
25        /// Recording filename.
26        ConferenceRecording => "conference_recording",
27        /// Canvas index, 1-based.
28        ConferenceRecordingCanvas => "conference_recording_canvas",
29        /// `conference_<name>_<domain>_<caller_id_number>`, cleared when the
30        /// member leaves.
31        ConferenceCallKey => "conference_call_key",
32        /// Digits that matched a caller-control binding.
33        ConferenceLastMatchingDigits => "conference_last_matching_digits",
34        /// Conference name, cleared once the transfer completes.
35        LastTransferedConference => "last_transfered_conference",
36
37        // --- Set by the caller ---
38        ConferenceSilentEntry => "conference_silent_entry",
39        ConferenceFlags => "conference_flags",
40        ConferenceMemberFlags => "conference_member_flags",
41        ConferenceControls => "conference_controls",
42        ConferencePosition => "conference_position",
43        ConferenceJoinVolumeIn => "conference_join_volume_in",
44        ConferenceJoinVolumeOut => "conference_join_volume_out",
45        ConferenceJoinEnergyLevel => "conference_join_energy_level",
46        ConferenceMaxMembers => "conference_max_members",
47        ConferenceModeratorPin => "conference_moderator_pin",
48        ConferenceEnforceSecurity => "conference_enforce_security",
49        ConferenceEndconferenceGraceTime => "conference_endconference_grace_time",
50        ConferenceEnterSound => "conference_enter_sound",
51        ConferenceExitSound => "conference_exit_sound",
52        ConferenceMohSound => "conference_moh_sound",
53        ConferencePerpetualSound => "conference_perpetual_sound",
54        ConferencePermanentWaitModMoh => "conference_permanent_wait_mod_moh",
55        ConferenceAutoRecord => "conference_auto_record",
56        ConferenceInviteUri => "conference_invite_uri",
57        ConferenceForceRate => "conference_force_rate",
58        ConferenceForceInterval => "conference_force_interval",
59        ConferenceForceChannels => "conference_force_channels",
60        ConferenceForceCanvasSize => "conference_force_canvas_size",
61        ConferenceAutoOutcallCallerIdName => "conference_auto_outcall_caller_id_name",
62        ConferenceAutoOutcallCallerIdNumber => "conference_auto_outcall_caller_id_number",
63        ConferenceAutoOutcallTimeout => "conference_auto_outcall_timeout",
64        ConferenceAutoOutcallProfile => "conference_auto_outcall_profile",
65        ConferenceAutoOutcallAnnounce => "conference_auto_outcall_announce",
66        ConferenceAutoOutcallPrefix => "conference_auto_outcall_prefix",
67        ConferenceAutoOutcallMaxwait => "conference_auto_outcall_maxwait",
68        ConferenceAutoOutcallDelimiter => "conference_auto_outcall_delimiter",
69        ConferenceAutoOutcallSkipMemberBeep => "conference_auto_outcall_skip_member_beep",
70        ConferenceUtilsAutoOutcallFlags => "conference_utils_auto_outcall_flags",
71        HangupAfterConference => "hangup_after_conference",
72        /// PIN carried as a URI parameter, searched for the configured
73        /// parameter name before the digits are read.
74        SuppliedPin => "supplied_pin",
75        /// Video overlay text, cleared by mod_conference once applied to the
76        /// member.
77        VideoBannerText => "video_banner_text",
78    }
79}