PJSIPHangup

Since 21.1.0, 20.6.0, 18.21.0 AMI Actions Found this useful? Upvote it. ×

Hangup an incoming PJSIP channel with a SIP response code

Last reviewed 2026-04-14

PJSIPHangup
Description

Hangs up an incoming PJSIP channel and returns the specified SIP response code in the final response to the caller.

Warning

This function must be called BEFORE anything that might cause any other final (non 1XX) response to be sent. For example calling Answer() or Playback without the noanswer option will cause the call to be answered and a final 200 response to be sent.

The cause code set on the channel will be translated to a standard ISDN cause code using the table defined in ast_sip_hangup_sip2cause() in res_pjsip.c

Terminate call with 437 response code
Action: PJSIPHangup
ActionID: 12345678
Channel: PJSIP/alice-00000002
Cause: 437
Terminate call with 437 response code using the response code name
Action: PJSIPHangup
ActionID: 12345678
Channel: PJSIP/alice-00000002
Cause: UNSUPPORTED_CERTIFICATE
Arguments
  • ActionID - ActionID for this transaction. Will be returned.
  • Channel required - The exact channel name to be hungup, or to use a regular expression, set this parameter to: /regex/
  • Cause required - May be one of...
    • Response code - A numeric response code in the range 400 ->699
    • Response code name - A response code name from third-party/pjproject/source/pjsip/include/pjsip/sip_msg.h such as USE_IDENTITY_HEADER or PJSIP_SC_USE_IDENTITY_HEADER
User Notes

Know a tip or gotcha for this topic? Share it below and help others.

Contribute a note

Share a tip, gotcha, or practical example. Keep it under 2000 characters. No questions (use the Asterisk community forums for support). Wrap code in backticks.

Moderated before publishing. Email never shown.
AMI Actions
AGI AOCMessage AbsoluteTimeout AgentLogoff Agents Atxfer BlindTransfer Bridge BridgeDestroy BridgeInfo BridgeKick BridgeList BridgeTechnologyList BridgeTechnologySuspend BridgeTechnologyUnsuspend CancelAtxfer Challenge ChangeMonitor Command ConfbridgeKick ConfbridgeList ConfbridgeListRooms ConfbridgeLock ConfbridgeMute ConfbridgeSetSingleVideoSrc ConfbridgeStartRecord ConfbridgeStopRecord ConfbridgeUnlock ConfbridgeUnmute ControlPlayback CoreSettings CoreShowChannelMap CoreShowChannels CoreStatus CreateConfig DAHDIDNDoff DAHDIDNDon DAHDIDialOffhook DAHDIHangup DAHDIRestart DAHDIShowChannels DAHDIShowStatus DAHDITransfer DBDel DBDelTree DBGet DBGetTree DBPut DeviceStateList DialplanExtensionAdd DialplanExtensionRemove Events ExtensionState ExtensionStateList FAXSession FAXSessions FAXStats Filter GetConfig GetConfigJSON Getvar Hangup IAXnetstats IAXpeerlist IAXpeers IAXregistry JabberSend ListCategories ListCommands LocalOptimizeAway LoggerRotate Login Logoff MWIDelete MWIGet MWIUpdate MailboxCount MailboxStatus MeetmeList MeetmeListRooms MeetmeMute MeetmeUnmute MessageSend MixMonitor MixMonitorMute ModuleCheck ModuleLoad Monitor MuteAudio Originate PJSIPHangup PJSIPNotify PJSIPQualify PJSIPRegister PJSIPShowAors PJSIPShowAuths PJSIPShowContacts PJSIPShowEndpoint PJSIPShowEndpoints PJSIPShowRegistrationInboundContactStatuses PJSIPShowRegistrationsInbound PJSIPShowRegistrationsOutbound PJSIPShowResourceLists PJSIPShowSubscriptionsInbound PJSIPShowSubscriptionsOutbound PJSIPUnregister PRIDebugFileSet PRIDebugFileUnset PRIDebugSet PRIShowSpans Park ParkedCalls Parkinglots PauseMonitor Ping PlayDTMF PlayMF PresenceState PresenceStateList QueueAdd QueueChangePriorityCaller QueueLog QueueMemberRingInUse QueuePause QueuePenalty QueueReload QueueRemove QueueReset QueueRule QueueStatus QueueSummary QueueWithdrawCaller Redirect Reload SIPnotify SIPpeers SIPpeerstatus SIPqualifypeer SIPshowpeer SIPshowregistry SKINNYdevices SKINNYlines SKINNYshowdevice SKINNYshowline SendFlash SendText Setvar ShowDialPlan SorceryMemoryCacheExpire SorceryMemoryCacheExpireObject SorceryMemoryCachePopulate SorceryMemoryCacheStale SorceryMemoryCacheStaleObject Status StopMixMonitor StopMonitor UnpauseMonitor UpdateConfig UserEvent VoicemailBoxSummary VoicemailForward VoicemailMove VoicemailRefresh VoicemailRemove VoicemailUserStatus VoicemailUsersList WaitEvent
AMI Actions
AGI AOCMessage AbsoluteTimeout AgentLogoff Agents Atxfer BlindTransfer Bridge BridgeDestroy BridgeInfo BridgeKick BridgeList BridgeTechnologyList BridgeTechnologySuspend BridgeTechnologyUnsuspend CancelAtxfer Challenge ChangeMonitor Command ConfbridgeKick ConfbridgeList ConfbridgeListRooms ConfbridgeLock ConfbridgeMute ConfbridgeSetSingleVideoSrc ConfbridgeStartRecord ConfbridgeStopRecord ConfbridgeUnlock ConfbridgeUnmute ControlPlayback CoreSettings CoreShowChannelMap CoreShowChannels CoreStatus CreateConfig DAHDIDNDoff DAHDIDNDon DAHDIDialOffhook DAHDIHangup DAHDIRestart DAHDIShowChannels DAHDIShowStatus DAHDITransfer DBDel DBDelTree DBGet DBGetTree DBPut DeviceStateList DialplanExtensionAdd DialplanExtensionRemove Events ExtensionState ExtensionStateList FAXSession FAXSessions FAXStats Filter GetConfig GetConfigJSON Getvar Hangup IAXnetstats IAXpeerlist IAXpeers IAXregistry JabberSend ListCategories ListCommands LocalOptimizeAway LoggerRotate Login Logoff MWIDelete MWIGet MWIUpdate MailboxCount MailboxStatus MeetmeList MeetmeListRooms MeetmeMute MeetmeUnmute MessageSend MixMonitor MixMonitorMute ModuleCheck ModuleLoad Monitor MuteAudio Originate PJSIPHangup PJSIPNotify PJSIPQualify PJSIPRegister PJSIPShowAors PJSIPShowAuths PJSIPShowContacts PJSIPShowEndpoint PJSIPShowEndpoints PJSIPShowRegistrationInboundContactStatuses PJSIPShowRegistrationsInbound PJSIPShowRegistrationsOutbound PJSIPShowResourceLists PJSIPShowSubscriptionsInbound PJSIPShowSubscriptionsOutbound PJSIPUnregister PRIDebugFileSet PRIDebugFileUnset PRIDebugSet PRIShowSpans Park ParkedCalls Parkinglots PauseMonitor Ping PlayDTMF PlayMF PresenceState PresenceStateList QueueAdd QueueChangePriorityCaller QueueLog QueueMemberRingInUse QueuePause QueuePenalty QueueReload QueueRemove QueueReset QueueRule QueueStatus QueueSummary QueueWithdrawCaller Redirect Reload SIPnotify SIPpeers SIPpeerstatus SIPqualifypeer SIPshowpeer SIPshowregistry SKINNYdevices SKINNYlines SKINNYshowdevice SKINNYshowline SendFlash SendText Setvar ShowDialPlan SorceryMemoryCacheExpire SorceryMemoryCacheExpireObject SorceryMemoryCachePopulate SorceryMemoryCacheStale SorceryMemoryCacheStaleObject Status StopMixMonitor StopMonitor UnpauseMonitor UpdateConfig UserEvent VoicemailBoxSummary VoicemailForward VoicemailMove VoicemailRefresh VoicemailRemove VoicemailUserStatus VoicemailUsersList WaitEvent