Hangup an incoming PJSIP channel with a SIP response code
May be one of...
A numeric response code in the range 400 ->699
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
Hangs up an incoming PJSIP channel and returns the
specified SIP response code in the final response to the caller.
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.
As with the Hangup application,
the dialplan will terminate after calling this function.
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
same = n,PJSIPHangup(437)
same = n,PJSIPHangup(UNSUPPORTED_CERTIFICATE)
same = n,ExecIf($[${SOMEVALUE} = ${SOME_BAD_VALUE}]?PJSIPHangup(437))
Send a NOTIFY to either an arbitrary URI, or inside a SIP dialog.
Abritrary URI to which to send the NOTIFY. If none is specified, send inside
the SIP dialog for the current channel.
Either an option pre-configured in pjsip_notify.conf or a list of headers and body content to send in the NOTIFY.
Sends a NOTIFY to a specified URI, or if none provided, within the current SIP dialog for the
current channel. The content can either be set to either an entry configured in pjsip_notify.conf
or specified as a list of key value pairs.
To send a NOTIFY to a specified URI, a default_outbound_endpoint must be configured. This
endpoint determines the message contact.
same = n,PJSIPNotify(,&Event=Test&X-Data=Fun)
same = n,PJSIPNotify(,force-answer)
same = n,PJSIPNotify(<sip:bob@127.0.0.1:5260>,&Event=Test&X-Data=Fun)
same = n,PJSIPNotify(<sip:bob@127.0.0.1:5260>,&Event=Custom&Content-type=application/voicemail&Content=check-messages&Content=)
21.1.0
20.6.0
18.21.0
Hangup an incoming PJSIP channel with a SIP response code
Hangs up an incoming PJSIP channel and returns the
specified SIP response code in the final response to the caller.
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
Action: PJSIPHangup
ActionID: 12345678
Channel: PJSIP/alice-00000002
Cause: 437
Action: PJSIPHangup
ActionID: 12345678
Channel: PJSIP/alice-00000002
Cause: UNSUPPORTED_CERTIFICATE
Return a dial string for dialing all contacts on an AOR.
Name of the endpoint
Name of an AOR to use, if not specified the configured AORs on the endpoint are used
Optional request user to use in the request URI
Returns a properly formatted dial string for dialing all contacts on an AOR.
Media and codec offerings to be set on an outbound SIP channel prior to dialing.
The type of media offered
Audio codecs to offer
Video codecs to offer
When read, returns the codecs offered based upon the media choice.
When written, sets the codecs to offer when an outbound dial attempt is made,
or when a session refresh is sent using PJSIP_SEND_SESSION_REFRESH.
[PJSIP_SEND_SESSION_REFRESH]
13.18.0
14.7.0
15.1.0
16.0.0
Get or change the DTMF mode for a SIP call.
When read, returns the current DTMF mode
When written, sets the current DTMF mode
This function uses the same DTMF mode naming as the dtmf_mode configuration option
Get or change the on-hold behavior for a SIP call.
When read, returns the current moh passthrough mode
When written, sets the current moh passthrough mode
If yes, on-hold re-INVITEs are sent. If no, music on hold is generated.
This function can be used to override the moh_passthrough configuration option
13.12.0
14.1.0
15.0.0
W/O: Initiate a session refresh via an UPDATE or re-INVITE on an established media session
The type of update to send. Default is invite.
Send the session refresh as a re-INVITE.
Send the session refresh as an UPDATE.
This function will cause the PJSIP stack to immediately refresh
the media session for the channel. This will be done using either a
re-INVITE (default) or an UPDATE request.
This is most useful when combined with the PJSIP_MEDIA_OFFER
dialplan function, as it allows the formats in use on a channel to be
re-negotiated after call setup.
The formats the endpoint supports are not
checked or enforced by this function. Using this function to offer
formats not supported by the endpoint may result
in a loss of media.
; Within some existing extension on an answered channel
same => n,Set(PJSIP_MEDIA_OFFER(audio)=!all,g722)
same => n,Set(PJSIP_SEND_SESSION_REFRESH()=invite)
[PJSIP_MEDIA_OFFER]
13.24.0
16.1.0
17.0.0
Parse a URI and return a type part of the URI.
URI to parse
The type parameter specifies which URI part to read
Display name.
URI scheme.
User part.
Password part.
Host part.
Port number, or zero.
User parameter.
Method parameter.
Transport parameter.
TTL param, or -1.
Loose routing param, or zero.
Maddr param.
Parse a URI and return a specified part of the URI.
18.24.0
20.9.0
21.4.0
Parse the contents of a variable as a URI and return a type part of the URI.
Name of a variable that contains a URI to parse
The type parameter specifies which URI part to read
Display name.
URI scheme.
User part.
Password part.
Host part.
Port number, or zero.
User parameter.
Method parameter.
Transport parameter.
TTL param, or -1.
Loose routing param, or zero.
Maddr param.
Parse the contents of the provided variable as a URI and return a specified part of the URI.
R/O Retrieve media related information.
When rtp is specified, the
type parameter must be provided. It specifies
which RTP parameter to read.
Retrieve the local address for RTP.
Retrieve the remote address for RTP.
If direct media is enabled, this address is the remote address
used for RTP.
Whether or not the media stream is encrypted.
The media stream is not encrypted.
The media stream is encrypted.
Whether or not the media stream is currently restricted
due to a call hold.
The media stream is not held.
The media stream is held.
When rtp is specified, the
media_type parameter may be provided. It specifies
which media stream the chosen RTP parameter should be retrieved
from.
Retrieve information from the audio media stream.
If not specified, audio is used
by default.
Retrieve information from the video media stream.
R/O Retrieve RTCP statistics.
When rtcp is specified, the
statistic parameter must be provided. It specifies
which RTCP statistic parameter to read.
Retrieve a summary of all RTCP statistics.
The following data items are returned in a semi-colon
delineated list:
Our Synchronization Source identifier
Their Synchronization Source identifier
Our lost packet count
Received packet jitter
Received packet count
Transmitted packet jitter
Transmitted packet count
Remote lost packet count
Round trip time
Transmitted Media Experience Score
Received Media Experience Score
Retrieve a summary of all RTCP Jitter statistics.
The following data items are returned in a semi-colon
delineated list:
Our minimum jitter
Our max jitter
Our average jitter
Our jitter standard deviation
Their minimum jitter
Their max jitter
Their average jitter
Their jitter standard deviation
Retrieve a summary of all RTCP packet loss statistics.
The following data items are returned in a semi-colon
delineated list:
Our minimum lost packets
Our max lost packets
Our average lost packets
Our lost packets standard deviation
Their minimum lost packets
Their max lost packets
Their average lost packets
Their lost packets standard deviation
Retrieve a summary of all RTCP round trip time information.
The following data items are returned in a semi-colon
delineated list:
Minimum round trip time
Maximum round trip time
Average round trip time
Standard deviation round trip time
Retrieve a summary of all RTCP Media Experience Score information.
The following data items are returned in a semi-colon
delineated list:
Minimum MES based on us analysing received packets.
Maximum MES based on us analysing received packets.
Average MES based on us analysing received packets.
Standard deviation MES based on us analysing received packets.
Minimum MES based on data we get in Sender and Receiver Reports sent by the remote end
Maximum MES based on data we get in Sender and Receiver Reports sent by the remote end
Average MES based on data we get in Sender and Receiver Reports sent by the remote end
Standard deviation MES based on data we get in Sender and Receiver Reports sent by the remote end
Transmitted packet count
Received packet count
Transmitted packet jitter
Received packet jitter
Their max jitter
Their minimum jitter
Their average jitter
Their jitter standard deviation
Our max jitter
Our minimum jitter
Our average jitter
Our jitter standard deviation
Transmitted packet loss
Received packet loss
Their max lost packets
Their minimum lost packets
Their average lost packets
Their lost packets standard deviation
Our max lost packets
Our minimum lost packets
Our average lost packets
Our lost packets standard deviation
Round trip time
Maximum round trip time
Minimum round trip time
Average round trip time
Standard deviation round trip time
Our Synchronization Source identifier
Their Synchronization Source identifier
Current MES based on us analyzing rtt, jitter and loss
in the actual received RTP stream received from the remote end.
I.E. This is the MES for the incoming audio stream.
Current MES based on rtt and the jitter and loss values in
RTCP sender and receiver reports we receive from the
remote end. I.E. This is the MES for the outgoing audio stream.
Max MES based on data we get in Sender and Receiver Reports sent by the remote end
Min MES based on data we get in Sender and Receiver Reports sent by the remote end
Average MES based on data we get in Sender and Receiver Reports sent by the remote end
Standard deviation MES based on data we get in Sender and Receiver Reports sent by the remote end
Max MES based on us analyzing the received RTP stream
Min MES based on us analyzing the received RTP stream
Average MES based on us analyzing the received RTP stream
Standard deviation MES based on us analyzing the received RTP stream
When rtcp is specified, the
media_type parameter may be provided. It specifies
which media stream the chosen RTCP parameter should be retrieved
from.
Retrieve information from the audio media stream.
If not specified, audio is used
by default.
Retrieve information from the video media stream.
R/O The name of the endpoint associated with this channel.
Use the PJSIP_ENDPOINT function to obtain
further endpoint related information.
R/O The name of the contact associated with this channel.
Use the PJSIP_CONTACT function to obtain
further contact related information. Note this may not be present and if so
is only available on outgoing legs.
R/O The name of the AOR associated with this channel.
Use the PJSIP_AOR function to obtain
further AOR related information. Note this may not be present and if so
is only available on outgoing legs.
R/O Obtain information about the current PJSIP channel and its
session.
When pjsip is specified, the
type parameter must be provided. It specifies
which signalling parameter to read.
The SIP call-id.
Whether or not the signalling uses a secure transport.
The signalling uses a non-secure transport.
The signalling uses a secure transport.
The contact URI where requests are sent.
The local URI.
Tag in From header
The remote URI.
Tag in To header
The request URI of the incoming INVITE
associated with the creation of this channel.
The current state of any T.38 fax on this channel.
T.38 faxing is disabled on this channel.
Asterisk has sent a re-INVITE to the remote end to initiate a T.38 fax.
The remote end has sent a re-INVITE to Asterisk to initiate a T.38 fax.
A T.38 fax session has been enabled.
A T.38 fax session was attempted but was rejected.
On inbound calls, the full IP address and port number that
the INVITE request was received on. On outbound
calls, the full IP address and port number that the INVITE
request was transmitted from.
On inbound calls, the full IP address and port number that
the INVITE request was received from. On outbound
calls, the full IP address and port number that the INVITE
request was transmitted to.
; Log the current Call-ID
same => n,Log(NOTICE, ${CHANNEL(pjsip,call-id)})
; Log the destination address of the audio stream
same => n,Log(NOTICE, ${CHANNEL(rtp,dest)})
; Store the round-trip time associated with a
; video stream in the CDR field video-rtt
same => n,Set(CDR(video-rtt)=${CHANNEL(rtcp,rtt,video)})