Group PJSIP_URI_GENERIC

group PJSIP_URI_GENERIC

Generic representation for all types of URI.

Defines

PJSIP_URI_SCHEME_IS_SIP(url)

This macro checks that the URL is a “sip:” URL.

Parameters
  • url – The URL (pointer to)

Returns

non-zero if TRUE.

PJSIP_URI_SCHEME_IS_SIPS(url)

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

Parameters
  • url – The URL (pointer to)

Returns

non-zero if TRUE.

PJSIP_URI_SCHEME_IS_TEL(url)

This macro checks that the URL is a “tel:” URL.

Parameters
  • url – The URL (pointer to)

Returns

non-zero if TRUE.

Enums

enum pjsip_uri_context_e

URI context.

Values:

enumerator PJSIP_URI_IN_REQ_URI

The URI is in Request URI.

enumerator PJSIP_URI_IN_FROMTO_HDR

The URI is in From/To header.

enumerator PJSIP_URI_IN_CONTACT_HDR

The URI is in Contact header.

enumerator PJSIP_URI_IN_ROUTING_HDR

The URI is in Route/Record-Route header.

enumerator PJSIP_URI_IN_OTHER

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

Functions

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.

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.

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.

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.

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.

struct pjsip_uri_vptr
#include <sip_uri.h>

URI ‘virtual’ function table. All types of URI in this library (such as sip:, sips:, tel:, and name-addr) will have pointer to this table as their first struct member. This table provides polimorphic behaviour to the URI.

struct pjsip_uri
#include <sip_uri.h>

The declaration of ‘base class’ for all URI scheme.

Forward declaration for URI (sip_uri.h).