sip_bad_mask 2.32 KB
Newer Older
Pekka Pessi's avatar
Pekka Pessi committed
1
#
2
# nta has an error mask specifying which headers cause nta to automatically
Pekka Pessi's avatar
Pekka Pessi committed
3 4 5 6 7 8 9
# return 400 Bad Message if a critical header or pseudoheader in a request
# has a parsing error.
#
# The parsing error can be later checked with msg_extract_errors(), too.
#
# See <sip_parser.h> for definition of mask values.
#
10 11
# The error flags for a particular header can be set when header is added
# with msg_mclass_insert_header_flags().
Pekka Pessi's avatar
Pekka Pessi committed
12 13 14 15 16
#
# The flags of existing headers can be modified, if a copy of message class
# is first made with msg_mclass_clone().
#

17
#
18
# When updating this file, please update
19 20 21
# NTATAG_BAD_RESP_MASK()/NTATAG_BAD_REQ_MASK() documentation, too.
#

Pekka Pessi's avatar
Pekka Pessi committed
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
#
# Headers that must be valid for all requests
#
request = sip_mask_request | sip_mask_response
status = sip_mask_request | sip_mask_response
From = sip_mask_request | sip_mask_response
To = sip_mask_request | sip_mask_response
CSeq = sip_mask_request | sip_mask_response
Call-ID = sip_mask_request | sip_mask_response
Content-Length = sip_mask_request | sip_mask_response
Via = sip_mask_request | sip_mask_response

#
# User-Agent headers
#
Content-Type = sip_mask_ua
Content-Disposition = sip_mask_ua
Content-Encoding = sip_mask_ua

#
# Proxy heades
#
Route = sip_mask_proxy
Max-Forwards = sip_mask_proxy
Proxy-Require = sip_mask_proxy
Proxy-Authorization = sip_mask_proxy

#
# Registrar headers
#
Min-Expires = sip_mask_registrar
Authorization = sip_mask_registrar
Path = sip_mask_registrar

#
# Headers that must be valid in UA, proxy or registrar
58
#
Pekka Pessi's avatar
Pekka Pessi committed
59
Contact = sip_mask_ua | sip_mask_proxy | sip_mask_registrar
60
Require = sip_mask_ua | sip_mask_registrar | sip_mask_timer
Pekka Pessi's avatar
Pekka Pessi committed
61 62 63 64
Record-Route = sip_mask_ua | sip_mask_proxy

Expires = sip_mask_registrar | sip_mask_events

65 66 67
# Nothing bad can happen if something looks like it is not Supported
# Supported = sip_mask_ua | sip_mask_proxy | sip_mask_registrar

Pekka Pessi's avatar
Pekka Pessi committed
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
#
# 100rel headers
#
RAck = sip_mask_100rel
RSeq = sip_mask_100rel

#
# Event headers
#
Event = sip_mask_events
Subscription-State = sip_mask_events

#
# 'timer' headers
#
Session-Expires = sip_mask_timer
Min-SE = sip_mask_timer

#
# Privacy headers
#
Privacy = sip_mask_privacy

#
# Headers used in caller preferences
#
Request-Disposition = sip_mask_pref
Accept-Contact = sip_mask_pref
Reject-Contact = sip_mask_pref

#
# PUBLISH headers (NOTE: No SIP- here!)
#
Etag = sip_mask_publish
If-Match = sip_mask_publish