Skip to content
Snippets Groups Projects
  • kkm's avatar
    4b58609c
    chan_sip: Access incoming REFER headers in dialplan · 4b58609c
    kkm authored
    This adds a way to access information passed along with SIP headers in
    a REFER message that initiates a transfer. Headers matching a dialplan
    variable GET_TRANSFERRER_DATA in the transferrer channel are added to
    a HASH object TRANSFER_DATA to be accessed with functions HASHKEY and HASH.
    
    The variable GET_TRANSFERRER_DATA is interpreted to be a prefix for
    headers that should be put into the hash. If not set, no headers are
    included. If set to a string (perhaps 'X-' in a typical case), all headers
    starting this string are added. Empty string matches all headers.
    
    If there are multiple of the same header, only the latest occurrence in
    the REFER message is available in the hash.
    
    Obviously, the variable GET_TRANSFERRER_DATA must be inherited by the
    referrer channel, and should be set with the '_' or '__' prefix.
    
    I avoided a specific reference to SIP or REFER, as in my mind the mechanism
    can be generalized to other channel techs.
    
    ASTERISK-27162
    
    Change-Id: I73d7a1e95981693bc59aa0d5093c074b555f708e
    4b58609c
    History
    chan_sip: Access incoming REFER headers in dialplan
    kkm authored
    This adds a way to access information passed along with SIP headers in
    a REFER message that initiates a transfer. Headers matching a dialplan
    variable GET_TRANSFERRER_DATA in the transferrer channel are added to
    a HASH object TRANSFER_DATA to be accessed with functions HASHKEY and HASH.
    
    The variable GET_TRANSFERRER_DATA is interpreted to be a prefix for
    headers that should be put into the hash. If not set, no headers are
    included. If set to a string (perhaps 'X-' in a typical case), all headers
    starting this string are added. Empty string matches all headers.
    
    If there are multiple of the same header, only the latest occurrence in
    the REFER message is available in the hash.
    
    Obviously, the variable GET_TRANSFERRER_DATA must be inherited by the
    referrer channel, and should be set with the '_' or '__' prefix.
    
    I avoided a specific reference to SIP or REFER, as in my mind the mechanism
    can be generalized to other channel techs.
    
    ASTERISK-27162
    
    Change-Id: I73d7a1e95981693bc59aa0d5093c074b555f708e
To find the state of this project's repository at the time of any of these versions, check out the tags.