Main Page | Modules | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

id.c File Reference

#include "id.h"
#include "parser/parse_from.h"
#include "parser/parse_uri.h"
#include "parser/digest/digest.h"
#include "ut.h"

Go to the source code of this file.

Functions

int set_from_uid (str *uid)
strcred_user (struct sip_msg *msg)
int get_from_uid (str *uid, struct sip_msg *msg)
int get_to_uid (str *uid, struct sip_msg *msg)
int set_to_uid (str *uid)
int get_to_did (str *did, struct sip_msg *msg)
 Retrieves the UID of the callee.
int get_from_did (str *did, struct sip_msg *msg)

Variables

str uid_name = STR_STATIC_INIT(AVP_UID)
str did_name = STR_STATIC_INIT(AVP_DID)


Function Documentation

str* cred_user struct sip_msg msg  )  [inline, static]
 

Definition at line 60 of file id.c.

References auth_body_t, sip_msg::authorization, auth_body::digest, get_authorized_cred(), _str::len, hdr_field::parsed, sip_msg::proxy_auth, str, username::user, and dig_cred::username.

int get_from_did str did,
struct sip_msg msg
 

Definition at line 217 of file id.c.

References AVP_NAME_STR, AVP_TRACK_FROM, int_str::s, search_first_avp(), and str.

Referenced by authenticate(), getFromDomain(), and lookup_uid().

int get_from_uid str uid,
struct sip_msg msg
 

Definition at line 76 of file id.c.

References add_avp(), AVP_CLASS_USER, AVP_NAME_STR, AVP_TRACK_FROM, AVP_VAL_STR, buf, cred_user(), get_from, L_ERR, _str::len, LOG, parse_from_header(), parse_uri(), int_str::s, _str::s, search_first_avp(), str, strlower(), uid, to_body::uri, and sip_uri::user.

Referenced by fmt2rad(), fmt2strar(), is_simple_rls_target(), query_resource_list(), rls_create_subscription(), and sd_lookup().

int get_to_did str did,
struct sip_msg msg
 

Retrieves the UID of the callee.

This function retrieves the UID (unique identifier) of the party being called. The function first searches the list of available attributes and if it finds an attribute with name "uid" then the value of the attribute is returned. If no such attribute can be found then the function retrieves the username from To header field of REGISTER requests (because that is the party being registered), or the username from the Reqeuest-URI of other requests. The username is then used as the UID string identifying the callee. If no attribute with the UID was found and the function successfully retrieved the UID from the SIP message then, in addition to storing the result in the first parameter, the function will also create the attribute named "uid" which will contain the UID. The function is not reentrant because it uses an internal static buffer to store the result.

Parameters:
uid A pointer to str variable where the result will be stored, the pointer in the variable will be updated to point to a static buffer in the function.
msg The SIP message being processed.
Returns:
1 is returned when the attribute with UID exists and it is used, 0 is returned when the function retrieved the UID from the SIP message and created the attribute, -1 is returned on error.

Definition at line 201 of file id.c.

References AVP_NAME_STR, AVP_TRACK_TO, int_str::s, search_first_avp(), and str.

Referenced by authenticate(), getDestinationDomain(), getToDomain(), lookup_uid(), and sd_lookup().

int get_to_uid str uid,
struct sip_msg msg
 

Definition at line 122 of file id.c.

References add_avp(), AVP_CLASS_USER, AVP_NAME_STR, AVP_TRACK_TO, AVP_VAL_STR, buf, DBG, get_to, HDR_TO_F, _str::len, parse_headers(), parse_sip_msg_uri(), parse_uri(), sip_msg::parsed_uri, sip_msg::parsed_uri_ok, int_str::s, _str::s, search_first_avp(), str, strlower(), sip_msg::to, uid, to_body::uri, and sip_uri::user.

Referenced by authorize_message(), fmt2strar(), get_presentity_uid(), lookup(), lookup2(), m_dump(), m_store(), registered(), registered2(), and save_real().

int set_from_uid str uid  ) 
 

Definition at line 41 of file id.c.

References add_avp(), AVP_CLASS_USER, AVP_NAME_STR, avp_t, AVP_TRACK_FROM, AVP_VAL_STR, destroy_avp(), s, search_first_avp(), search_next_avp(), and str.

Referenced by lookup_uid().

int set_to_uid str uid  ) 
 

Definition at line 180 of file id.c.

References add_avp(), AVP_CLASS_USER, AVP_NAME_STR, avp_t, AVP_TRACK_TO, AVP_VAL_STR, destroy_avp(), s, search_first_avp(), search_next_avp(), and str.

Referenced by lookup_uid().


Variable Documentation

str did_name = STR_STATIC_INIT(AVP_DID) [static]
 

Definition at line 35 of file id.c.

str uid_name = STR_STATIC_INIT(AVP_UID) [static]
 

Definition at line 34 of file id.c.


Generated on Thu Jul 29 04:15:54 2010 for SIPExpressRouter by  doxygen 1.3.9.1