- Building Telephony Systems with OpenSIPS(Second Edition)
- Flavio E. Goncalves Bogdan-Andrei Iancu
- 238字
- 2021-08-20 10:43:12
The SIP identity
SIP servers are often employed to provide telephony services. However, there is a problem where Public Switched Telephone Network (PSTN) does not support SIP addresses containing domains and alphanumeric characters. To identify a caller identity for the PSTN, a few methods were created and applied.
The draft-ietf-sip-privacy-04
document describes the Remote-Party-ID header. While it has never became a standard, it is still quite popular among gateway manufacturers and service providers. See the following example:
Remote-Party-ID: "John" <sip:+554833328560@sip.com>; party=calling; id-type=subscriber; privacy=full; screen=yes
The preceding header sets the caller ID number as +554833328560
and caller name as "John"
; it is a subscriber in the proxy, the identity was verified (screen=yes
), and the number should not be present in the destination's terminal (privacy=full
). The draft specifies additional features and how to handle privacy requests. For the purposes of this book, Remote-Party-IDs will be used just for caller ID presentation.
The standard way to handle caller IDs and privacy came later in RFC 3325. It defines the P-Asserted-Identity, P-Preferred-Identity, and Privacy headers. See the following example:
P-Asserted-Identity: "John" sip:+554833328560@sip.com P-Asserted-Identity: tel:+554833328560
To specify the caller ID to be present in the PSTN, you can use these headers. The gateway should match the type of caller ID and privacy used in your proxy. In an OpenSIPS server, you can add headers using the append_hf
command. It is an extensive RFC and you can check the details in the document itself.