sip_bad_mask 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. #
  2. # nta has an error mask specifying which headers cause nta to automatically
  3. # return 400 Bad Message if a critical header or pseudoheader in a request
  4. # has a parsing error.
  5. #
  6. # The parsing error can be later checked with msg_extract_errors(), too.
  7. #
  8. # See <sip_parser.h> for definition of mask values.
  9. #
  10. # The error flags for a particular header can be set when header is added
  11. # with msg_mclass_insert_header_flags().
  12. #
  13. # The flags of existing headers can be modified, if a copy of message class
  14. # is first made with msg_mclass_clone().
  15. #
  16. #
  17. # When updating this file, please update
  18. # NTATAG_BAD_RESP_MASK()/NTATAG_BAD_REQ_MASK() documentation, too.
  19. #
  20. #
  21. # Headers that must be valid for all requests
  22. #
  23. request = sip_mask_request | sip_mask_response
  24. status = sip_mask_request | sip_mask_response
  25. From = sip_mask_request | sip_mask_response
  26. To = sip_mask_request | sip_mask_response
  27. CSeq = sip_mask_request | sip_mask_response
  28. Call-ID = sip_mask_request | sip_mask_response
  29. Content-Length = sip_mask_request | sip_mask_response
  30. Via = sip_mask_request | sip_mask_response
  31. #
  32. # User-Agent headers
  33. #
  34. Content-Type = sip_mask_ua
  35. Content-Disposition = sip_mask_ua
  36. Content-Encoding = sip_mask_ua
  37. #
  38. # Proxy heades
  39. #
  40. Route = sip_mask_proxy
  41. Max-Forwards = sip_mask_proxy
  42. Proxy-Require = sip_mask_proxy
  43. Proxy-Authorization = sip_mask_proxy
  44. #
  45. # Registrar headers
  46. #
  47. Min-Expires = sip_mask_registrar
  48. Authorization = sip_mask_registrar
  49. Path = sip_mask_registrar
  50. #
  51. # Headers that must be valid in UA, proxy or registrar
  52. #
  53. Contact = sip_mask_ua | sip_mask_proxy | sip_mask_registrar
  54. Require = sip_mask_ua | sip_mask_registrar | sip_mask_timer
  55. Record-Route = sip_mask_ua | sip_mask_proxy
  56. Expires = sip_mask_registrar | sip_mask_events
  57. # Nothing bad can happen if something looks like it is not Supported
  58. # Supported = sip_mask_ua | sip_mask_proxy | sip_mask_registrar
  59. #
  60. # 100rel headers
  61. #
  62. RAck = sip_mask_100rel
  63. RSeq = sip_mask_100rel
  64. #
  65. # Event headers
  66. #
  67. Event = sip_mask_events
  68. Subscription-State = sip_mask_events
  69. #
  70. # 'timer' headers
  71. #
  72. Session-Expires = sip_mask_timer
  73. Min-SE = sip_mask_timer
  74. #
  75. # Privacy headers
  76. #
  77. Privacy = sip_mask_privacy
  78. #
  79. # Headers used in caller preferences
  80. #
  81. Request-Disposition = sip_mask_pref
  82. Accept-Contact = sip_mask_pref
  83. Reject-Contact = sip_mask_pref
  84. #
  85. # PUBLISH headers (NOTE: No SIP- here!)
  86. #
  87. Etag = sip_mask_publish
  88. If-Match = sip_mask_publish