#[non_exhaustive]#[repr(u16)]pub enum HangupCause {
Show 82 variants
None = 0,
UnallocatedNumber = 1,
NoRouteTransitNet = 2,
NoRouteDestination = 3,
ChannelUnacceptable = 6,
CallAwardedDelivered = 7,
NormalClearing = 16,
UserBusy = 17,
NoUserResponse = 18,
NoAnswer = 19,
SubscriberAbsent = 20,
CallRejected = 21,
NumberChanged = 22,
RedirectionToNewDestination = 23,
ExchangeRoutingError = 25,
DestinationOutOfOrder = 27,
InvalidNumberFormat = 28,
FacilityRejected = 29,
ResponseToStatusEnquiry = 30,
NormalUnspecified = 31,
NormalCircuitCongestion = 34,
NetworkOutOfOrder = 38,
NormalTemporaryFailure = 41,
SwitchCongestion = 42,
AccessInfoDiscarded = 43,
RequestedChanUnavail = 44,
PreEmpted = 45,
FacilityNotSubscribed = 50,
OutgoingCallBarred = 52,
IncomingCallBarred = 54,
BearercapabilityNotauth = 57,
BearercapabilityNotavail = 58,
ServiceUnavailable = 63,
BearercapabilityNotimpl = 65,
ChanNotImplemented = 66,
FacilityNotImplemented = 69,
ServiceNotImplemented = 79,
InvalidCallReference = 81,
IncompatibleDestination = 88,
InvalidMsgUnspecified = 95,
MandatoryIeMissing = 96,
MessageTypeNonexist = 97,
WrongMessage = 98,
IeNonexist = 99,
InvalidIeContents = 100,
WrongCallState = 101,
RecoveryOnTimerExpire = 102,
MandatoryIeLengthError = 103,
ProtocolError = 111,
Interworking = 127,
Success = 142,
OriginatorCancel = 487,
Crash = 700,
SystemShutdown = 701,
LoseRace = 702,
ManagerRequest = 703,
BlindTransfer = 800,
AttendedTransfer = 801,
AllottedTimeout = 802,
UserChallenge = 803,
MediaTimeout = 804,
PickedOff = 805,
UserNotRegistered = 806,
ProgressTimeout = 807,
InvalidGateway = 808,
GatewayDown = 809,
InvalidUrl = 810,
InvalidProfile = 811,
NoPickup = 812,
SrtpReadError = 813,
Bowout = 814,
BusyEverywhere = 815,
Decline = 816,
DoesNotExistAnywhere = 817,
NotAcceptable = 818,
Unwanted = 819,
NoIdentity = 820,
BadIdentityInfo = 821,
UnsupportedCertificate = 822,
InvalidIdentity = 823,
StaleDate = 824,
RejectAll = 825,
}Expand description
Hangup cause from switch_cause_t (Q.850 + FreeSWITCH extensions).
Carried in the Hangup-Cause header. Wire format is SCREAMING_SNAKE_CASE
(e.g. NORMAL_CLEARING). The numeric value matches the Q.850 cause code
for standard causes, or a FreeSWITCH-internal range for extensions.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
None = 0
UnallocatedNumber = 1
NoRouteTransitNet = 2
NoRouteDestination = 3
ChannelUnacceptable = 6
CallAwardedDelivered = 7
NormalClearing = 16
UserBusy = 17
NoUserResponse = 18
NoAnswer = 19
SubscriberAbsent = 20
CallRejected = 21
NumberChanged = 22
RedirectionToNewDestination = 23
ExchangeRoutingError = 25
DestinationOutOfOrder = 27
InvalidNumberFormat = 28
FacilityRejected = 29
ResponseToStatusEnquiry = 30
NormalUnspecified = 31
NormalCircuitCongestion = 34
NetworkOutOfOrder = 38
NormalTemporaryFailure = 41
SwitchCongestion = 42
AccessInfoDiscarded = 43
PreEmpted = 45
FacilityNotSubscribed = 50
OutgoingCallBarred = 52
IncomingCallBarred = 54
BearercapabilityNotauth = 57
BearercapabilityNotavail = 58
BearercapabilityNotimpl = 65
ChanNotImplemented = 66
FacilityNotImplemented = 69
ServiceNotImplemented = 79
InvalidCallReference = 81
IncompatibleDestination = 88
InvalidMsgUnspecified = 95
MandatoryIeMissing = 96
MessageTypeNonexist = 97
WrongMessage = 98
IeNonexist = 99
InvalidIeContents = 100
WrongCallState = 101
RecoveryOnTimerExpire = 102
MandatoryIeLengthError = 103
ProtocolError = 111
Interworking = 127
Success = 142
OriginatorCancel = 487
Crash = 700
SystemShutdown = 701
LoseRace = 702
ManagerRequest = 703
BlindTransfer = 800
AttendedTransfer = 801
AllottedTimeout = 802
UserChallenge = 803
MediaTimeout = 804
PickedOff = 805
UserNotRegistered = 806
ProgressTimeout = 807
InvalidGateway = 808
GatewayDown = 809
InvalidUrl = 810
InvalidProfile = 811
NoPickup = 812
SrtpReadError = 813
Bowout = 814
BusyEverywhere = 815
Decline = 816
DoesNotExistAnywhere = 817
NotAcceptable = 818
Unwanted = 819
NoIdentity = 820
BadIdentityInfo = 821
UnsupportedCertificate = 822
InvalidIdentity = 823
StaleDate = 824
Stale Date (STIR/SHAKEN).
RejectAll = 825
Reject all calls.
Implementations§
Source§impl HangupCause
impl HangupCause
Trait Implementations§
Source§impl Clone for HangupCause
impl Clone for HangupCause
Source§fn clone(&self) -> HangupCause
fn clone(&self) -> HangupCause
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for HangupCause
impl Debug for HangupCause
Source§impl<'de> Deserialize<'de> for HangupCause
impl<'de> Deserialize<'de> for HangupCause
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for HangupCause
impl Display for HangupCause
Source§impl FromStr for HangupCause
impl FromStr for HangupCause
Source§impl Hash for HangupCause
impl Hash for HangupCause
Source§impl PartialEq for HangupCause
impl PartialEq for HangupCause
Source§impl Serialize for HangupCause
impl Serialize for HangupCause
impl Copy for HangupCause
impl Eq for HangupCause
impl StructuralPartialEq for HangupCause
Auto Trait Implementations§
impl Freeze for HangupCause
impl RefUnwindSafe for HangupCause
impl Send for HangupCause
impl Sync for HangupCause
impl Unpin for HangupCause
impl UnsafeUnpin for HangupCause
impl UnwindSafe for HangupCause
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.