Kamailio sending HELD request with broken sip uri when the INVITE message contains a display name or display name with special character "&".
P-Asserted-Identity: "User &" <sip:+12001112233@206.147.236.78:5060>
or
P-Asserted-Identity: "User" <sip:+12001112233@206.147.236.78:5060>
For the first case, HELD request body looks like
<?xml version="1.0" encoding="UTF-8"?>
<locationRequest xmlns="urn:ietf:params:xml:ns:geopriv:held" responseTime="5000">
<locationType exact="true">geodetic locationURI</locationType>
<device xmlns="urn:ietf:params:xml:ns:geopriv:held:id">
<uri />
</device>
</locationRequest>
Here uri
element is empty.
For the second case, HELD request body looks like (ident formatted)
<?xml version="1.0" encoding="UTF-8"?>
<locationRequest xmlns="urn:ietf:params:xml:ns:geopriv:held" responseTime="5000">
<locationType exact="true">geodetic locationURI</locationType>
<device xmlns="urn:ietf:params:xml:ns:geopriv:held:id">
<uri>"User" <sip:+12001112233@206.147.236.78:5060></uri>
</device>
</locationRequest>
In HELD schema the 'uri' element specified as
<xs:element name="uri" type="xs:anyURI"/>
For me looks like here display name
cannot be used.
Moreover, if an inbound call does not contain P-Asserted-Identity
header then lost
properly extracts uri from the From
header.
For me look like need to improve P-Asserted-Identity
parsing in the lost
module and properly extract uri from header value.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.