The peering module allows SIP providers (operators or organizations) to verify from a broker if source or destination of a SIP request is a trusted peer. This module is obsolete and will be removed in the next release. In order to participate in the trust community provided by a broker, each SIP provider registers the domains (host parts of SIP URIs) that they serve with the broker. When a SIP proxy of a provider needs to send a SIP request to a non-local domain, it can find out from the broker using verify_destination() function if the non-local domain is served by a trusted peer. If so, the provider receives from the broker a hash of the SIP request and a timestamp that it includes in the request to the non-local domain. When a SIP proxy of the non-local domain receives the SIP request, it, in turn, can verify from the broker using verify_source() function if the request came from a trusted peer. Verification functions communicate with the broker using Radius protocol. Sample FreeRADIUS configuration files for broker's Radius server are available from http://www.wirlab.net/tsi/. Comments and suggestions for improvements are welcome.
| Parámetro | Tipo | Descripción |
|---|---|---|
| radius_config | string | 3.2. verify_destination_service_type (integer) 3.3. verify_source_service_type (integer) |
| verify_destination_service_type | integer | 3.3. verify_source_service_type (integer) |
| verify_source_service_type | integer | 3.1. radius_config (string) |
| radius_config | string | This is the location of the configuration file of Radius client libraries. |
| verify_destination_service_type | integer | This is the value of the Service-Type Radius attribute to be used, when sender of SIP Request verifies the request's destination using verify_destination() function. |
| verify_source_service_type | integer | This is the value of the Service-Type Radius attribute to be used, when receiver of SIP Request verifies the request's source using verify_source() function. |
4.2. verify_source()
4.1. verify_destination()
Function verify_destination() queries from broker's Radius server if domain (host part) of Request URI is served by a trusted peer. Radius request contains the following attributes/values: * User-Name - Request-URI host * SIP-URI-User - Request-URI u
usage ... if (verify_destination()) { append_hf("P-Request-Hash: $avp(i:200)\r\n"); } ...
Function verify_source() queries the broker's Radius server whether the SIP request was received from a trusted peer. The Radius request contains the following attributes/values: * User-Name - Request-URI host * SIP-URI-User - Request-URI user * SIP-
usage ... if (is_present_hf("P-Request-Hash")) { if (verify_source()) { xlog("L_INFO", "Request came from trusted peer\n") } } ...
Copyright © 2008 Juha Heinanen