Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
4.0-alpha5
-
None
-
None
Description
The Session Initiation Protocol in RFC 3261 defines a message format which is structurally identical to HTTP/1.1 (http://tools.ietf.org/html/rfc3261#section-7). The only difference is that the protocol name used in the request and response lines is SIP instead of HTTP, and the version number is 2.0. HttpCore should be able to handle these messages, or others with alternative protocol names but identical syntactic structures. There are two parts of core affected:
- HttpVersion currently stores only the version number, but uses a hard-coded protocol name HTTP
- HTTP message parsing checks for a hard-coded protocol name HTTP (both core and NIO)
Note that this is "tolerance for" and not "support of" SIP. SIP makes heavy use of intermediate 1xx responses, for which our HttpRequestExecutor and HttpService classes are not prepared. The rest of the core/main module, including message representation, connections, and the params and interceptor frameworks, could be used for SIP or other alternative protocols without further changes.
This is a change of medium complexity which would significantly improve the flexibility of the HttpCore module.
Attachments
Attachments
Issue Links
- depends upon
-
HTTPCORE-106 factor out HTTP parsing
- Closed
- is blocked by
-
HTTPCORE-110 refactor message parsing and formatting, step 2
- Closed