仅解析 SIP 自定义 Header 值

Parsing Just SIP Custom Header Values

I want to parse JUST SIP Custom Headers [ or call attached data ] not other header fields.

我看到有些人使用 "X-" 来区分那些 header 和标准的 header。 但这只是惯例。

在某些系统中,attached-data [custom-headers ] 放在 "Content-Length: " header 之后,但有些系统放在 "Contact: " [=34= 之后].

我真的找不到通用且优雅的方法,只需 来解析自定义 headers。

唯一不好的解决方案是创建一个包含所有标准 sip header 名称的 Look-Up Table,如果 header 名称不在该列表中,则解析该名称header 这是 丑陋的 ...

对更优雅的解决方案有什么建议吗?

这取决于你想要完成什么,但由于 servers/clients/proxy 可以注入他们想要的任何 header,你唯一的解决方案确实是 white-list 有效 header 名字。主要的 down-side 是您必须处理任何定义新 "official" headers.

的新 RFC

根据 use-case,您可能只想从 X- 开始 header 秒。正如您所说,这只是一种约定,但它是一种广泛使用的约定,IIRC。