PJSIP_HEADER()
Synopsis
Gets headers from an inbound PJSIP channel. Adds, updates or removes the specified SIP header from an outbound PJSIP channel.
Description
PJSIP_HEADER allows you to read specific SIP headers from the inbound PJSIP channel as well as write(add, update, remove) headers on the outbound channel. One exception is that you can read headers that you have already added on the outbound channel.
Examples:
;
; Set 'somevar' to the value of the 'From' header.
exten => 1,1,Set(somevar=${PJSIP_HEADER(read,From)})
;
; Set 'via2' to the value of the 2nd 'Via' header.
exten => 1,1,Set(via2=${PJSIP_HEADER(read,Via,2)})
;
; Add an 'X-Myheader' header with the value of 'myvalue'.
exten => 1,1,Set(PJSIP_HEADER(add,X-MyHeader)=myvalue)
;
; Add an 'X-Myheader' header with an empty value.
exten => 1,1,Set(PJSIP_HEADER(add,X-MyHeader)=)
;
; Update the value of the header named 'X-Myheader' to 'newvalue'.
; 'X-Myheader' must already exist or the call will fail.
exten => 1,1,Set(PJSIP_HEADER(update,X-MyHeader)=newvalue)
;
; Remove all headers whose names exactly match 'X-MyHeader'.
exten => 1,1,Set(PJSIP_HEADER(remove,X-MyHeader)=)
;
; Remove all headers that begin with 'X-My'.
exten => 1,1,Set(PJSIP_HEADER(remove,X-My*)=)
;
; Remove all previously added headers.
exten => 1,1,Set(PJSIP_HEADER(remove,*)=)
;
Syntax
PJSIP_HEADER(action,name[,number])
Arguments
action
read
- Returns instance number of header name.add
- Adds a new header name to this session.update
- Updates instance number of header name to a new value. The header must already exist.remove
- Removes all instances of previously added headers whose names match name. A {} may be appended to name to remove all headers *beginning with name. name may be set to a single {} to clear *all previously added headers. In all cases, the number of headers actually removed is returned.
name
- The name of the header.number
- If there's more than 1 header with the same name, this specifies which header to read or update. If not specified, defaults to1
meaning the first matching header. Not valid foradd
orremove
.
See Also
Import Version
This documentation was imported from Asterisk Version GIT-17-7300bdd