BLOG | DOCUMENTATION | GITHUB

Home --> Documentations --> PJSIP Reference

Generic representation for all types of URI. More...

Data Structures

struct  pjsip_uri_vptr
 
struct  pjsip_uri
 

Macros

#define PJSIP_URI_SCHEME_IS_SIP(url)    (pj_stricmp2(pjsip_uri_get_scheme(url), "sip")==0)
 
#define PJSIP_URI_SCHEME_IS_SIPS(url)    (pj_stricmp2(pjsip_uri_get_scheme(url), "sips")==0)
 
#define PJSIP_URI_SCHEME_IS_TEL(url)    (pj_stricmp2(pjsip_uri_get_scheme(url), "tel")==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)
 

Detailed Description

Macro Definition Documentation

◆ PJSIP_URI_SCHEME_IS_SIP

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

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

Parameters
urlThe URL (pointer to)
Returns
non-zero if TRUE.

◆ PJSIP_URI_SCHEME_IS_SIPS

#define PJSIP_URI_SCHEME_IS_SIPS (   url)     (pj_stricmp2(pjsip_uri_get_scheme(url), "sips")==0)

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

Parameters
urlThe URL (pointer to)
Returns
non-zero if TRUE.

◆ PJSIP_URI_SCHEME_IS_TEL

#define PJSIP_URI_SCHEME_IS_TEL (   url)     (pj_stricmp2(pjsip_uri_get_scheme(url), "tel")==0)

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

Parameters
urlThe URL (pointer to)
Returns
non-zero if TRUE.

Enumeration Type Documentation

◆ pjsip_uri_context_e

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

◆ pjsip_uri_get_scheme()

const pj_str_t * pjsip_uri_get_scheme ( const void *  uri)

Generic function to get the URI scheme.

Parameters
urithe URI object.
Returns
the URI scheme.

References PJ_INLINE.

◆ pjsip_uri_get_uri()

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
urithe URI.
Returns
the URI.

References PJ_ASSERT_RETURN, and PJ_INLINE.

◆ pjsip_uri_cmp()

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

Generic function to compare two URIs.

Parameters
contextComparison context.
uri1The first URI.
uri2The second URI.
Returns
PJ_SUCCESS if equal, or otherwise the error status which should point to the mismatch part.

References PJ_INLINE.

◆ pjsip_uri_print()

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
contextPrint context.
uriThe URI to print.
bufThe buffer.
sizeSize of the buffer.
Returns
Length printed if successful, negative value if failed.

References PJ_INLINE.

◆ pjsip_uri_clone()

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

Generic function to clone an URI object.

Parameters
poolPool.
uriURI 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.