The SDP Rewriter system feature rewrites session descriptions in messages forwarded between certain legs, to avoid SDP conflicts.
Details
Feature script name |
SDPRewriter |
---|---|
Applicable contexts |
SIP service |
Prerequisite features |
None |
Feature execution points |
All post execution points |
Behaviour
When a feature requires SDP conflict management, it can call
SdpRewriting.startSdpRewritingForLegs()
to start an SDP rewriting association between a pair of legs.
This association is persisted in session state, and includes rules for rewriting SDP sent in either direction, so that conflicts are avoided.
The SDP Rewriter feature then examines SDP message bodies on all messages sent on these legs, and rewrites the SDP as appropriate.
If either party updates their session description, this feature updates its rewriting rules for the legs, so that changes are propagated correctly to the other party.
For more details see SDP conflict management.
The SDP Rewriter feature must run as a post-system feature on all execution points, to ensure that messages containing SDP sent by other features can be rewritten before transmission. The feature must run before the SDP Monitor feature, so that SDP Monitor sees the updated SDP, if present. |
Session state inputs and outputs
Inputs
Name | Type | Format | Description |
---|---|---|---|
SdpRewriterMap |
A map containing Leg associations and SDP rewriting rules, created by |
Updated when the feature detects a change in the session description, such as a new media line. The rewriting rules are updated so that SDP is rewritten correctly in both directions. |
Statistics
Statistic | What it counts |
---|---|
SDPRewritten |
The number of times that an SDP message body has been rewritten. |