pjsip logo pjsip.org
Open source SIP stack and media stack for presence, im/instant messaging, and multimedia communication
Loading

HOME

SIP/media Features
High Performance SIP
Small Footprint SIP
Symbian Port

FAQ

Documentation

Licensing

Download

Development (Trac)

Projects using pjsip

Mailing List

Open Source Links


About: PJLIB, PJLIB-UTIL, PJSIP, and PJMEDIA are created by: Benny Prijono
<bennylp@pjsip.org>


 

Home --> Documentations --> PJSIP Reference

Generic URI
[URI]

Generic representation for all types of URI.

Data Structures

struct  pjsip_uri_vptr
struct  pjsip_uri

Defines

#define PJSIP_URI_SCHEME_IS_SIP(url)   (pj_strnicmp2(pjsip_uri_get_scheme(url), "sip", 3)==0)
#define PJSIP_URI_SCHEME_IS_SIPS(url)   (pj_strnicmp2(pjsip_uri_get_scheme(url), "sips", 4)==0)
#define PJSIP_URI_SCHEME_IS_TEL(url)   (pj_strnicmp2(pjsip_uri_get_scheme(url), "tel", 3)==0)

Enumerations

enum  pjsip_uri_context_e {
  PJSIP_URI_IN_REQ_URI, PJSIP_URI_IN_FROMTO_HDR, PJSIP_URI_IN_CONTACT_HDR, PJSIP_URI_IN_ROUTING_HDR,
  PJSIP_URI_IN_OTHER
}

Functions

const pj_str_tpjsip_uri_get_scheme (const void *uri)
void * pjsip_uri_get_uri (const void *uri)
pj_status_t pjsip_uri_cmp (pjsip_uri_context_e context, const void *uri1, const void *uri2)
int pjsip_uri_print (pjsip_uri_context_e context, const void *uri, char *buf, pj_size_t size)
void * pjsip_uri_clone (pj_pool_t *pool, const void *uri)

Define Documentation

#define PJSIP_URI_SCHEME_IS_SIP ( url   )     (pj_strnicmp2(pjsip_uri_get_scheme(url), "sip", 3)==0)

This macro checks that the URL is a "sip:" or "sips:" URL.

Parameters:
url The URL (pointer to)
Returns:
non-zero if TRUE.
#define PJSIP_URI_SCHEME_IS_SIPS ( url   )     (pj_strnicmp2(pjsip_uri_get_scheme(url), "sips", 4)==0)

This macro checks that the URL is a "sips:" URL (not SIP).

Parameters:
url The URL (pointer to)
Returns:
non-zero if TRUE.
#define PJSIP_URI_SCHEME_IS_TEL ( url   )     (pj_strnicmp2(pjsip_uri_get_scheme(url), "tel", 3)==0)

This macro checks that the URL is a "tel:" URL.

Parameters:
url The URL (pointer to)
Returns:
non-zero if TRUE.

Enumeration Type Documentation

URI context.

Enumerator:
PJSIP_URI_IN_REQ_URI 

The URI is in Request URI.

PJSIP_URI_IN_FROMTO_HDR 

The URI is in From/To header.

PJSIP_URI_IN_CONTACT_HDR 

The URI is in Contact header.

PJSIP_URI_IN_ROUTING_HDR 

The URI is in Route/Record-Route header.

PJSIP_URI_IN_OTHER 

Other context (web page, business card, etc.)


Function Documentation

const pj_str_t* pjsip_uri_get_scheme ( const void *  uri  ) 

Generic function to get the URI scheme.

Parameters:
uri the URI object.
Returns:
the URI scheme.

References PJ_INLINE.

void* pjsip_uri_get_uri ( const void *  uri  ) 

Generic function to get the URI object contained by this URI, or the URI itself if it doesn't contain another URI.

Parameters:
uri the URI.
Returns:
the URI.

References PJ_INLINE.

pj_status_t pjsip_uri_cmp ( pjsip_uri_context_e  context,
const void *  uri1,
const void *  uri2 
)

Generic function to compare two URIs.

Parameters:
context Comparison context.
uri1 The first URI.
uri2 The second URI.
Returns:
PJ_SUCCESS if equal, or otherwise the error status which should point to the mismatch part.

References PJ_INLINE.

int pjsip_uri_print ( pjsip_uri_context_e  context,
const void *  uri,
char *  buf,
pj_size_t  size 
)

Generic function to print an URI object.

Parameters:
context Print context.
uri The URI to print.
buf The buffer.
size Size of the buffer.
Returns:
Length printed.

References PJ_INLINE.

void* pjsip_uri_clone ( pj_pool_t pool,
const void *  uri 
)

Generic function to clone an URI object.

Parameters:
pool Pool.
uri URI to clone.
Returns:
New URI.

References PJ_INLINE.

 


PJSIP Open Source, high performance, small footprint, and very very portable SIP stack
Copyright (C) 2006-2008 Teluu Inc.