Home --> Documentations --> PJSIP Reference

#include <sip_dialog.h>

Public Member Functions

 PJ_DECL_LIST_MEMBER (pjsip_dialog)

Data Fields

char obj_name [PJ_MAX_OBJ_NAME]
void * dlg_set
pjsip_dialog_state state
pjsip_target_set target_set
pjsip_hdr inv_hdr
pjsip_dlg_party local
pjsip_dlg_party remote
pjsip_hdr rem_cap_hdr
pjsip_role_e role
pj_bool_t uac_has_2xx
pj_bool_t secure
pj_bool_t add_allow
pjsip_route_hdr route_set
pj_bool_t route_set_frozen
pjsip_auth_clt_sess auth_sess
pj_str_t initial_dest
int sess_count
int tsx_count
pjsip_tpselector tp_sel
unsigned usage_cnt
pjsip_moduleusage [PJSIP_MAX_MODULE]
void * mod_data [PJSIP_MAX_MODULE]
pjsip_host_port via_addr
const void * via_tp

Detailed Description

This structure describes the dialog structure. Application MUST NOT try to SET the values here directly, but instead it MUST use the appropriate dialog API. The dialog declaration only needs to be made visible because other PJSIP modules need to see it (e.g. INVITE session, the event framework, etc.).

Application MAY READ the dialog contents directly after it acquires dialog lock.

To acquire dialog lock, use pjsip_dlg_inc_lock(), and to release it, use pjsip_dlg_dec_lock(). DO NOT USE pj_mutex_lock()/pj_mutex_unlock() on the dialog's mutex directly, because this will not protect against dialog being destroyed.

Forward declaration for dialog (sip_dialog.h).

Member Function Documentation


pjsip_dialog::PJ_DECL_LIST_MEMBER ( pjsip_dialog  )

The dialog set list.

Field Documentation

◆ obj_name

char pjsip_dialog::obj_name[PJ_MAX_OBJ_NAME]

Standard id.

◆ pool

pj_pool_t* pjsip_dialog::pool

Dialog's pool.

◆ ua

pjsip_user_agent* pjsip_dialog::ua

User agent instance.

◆ endpt

pjsip_endpoint* pjsip_dialog::endpt

Endpoint instance.

◆ grp_lock_

pj_grp_lock_t* pjsip_dialog::grp_lock_

Dialog's grp lock. Do not call!! Use pjsip_dlg_inc_lock() instead!

◆ dlg_set

void* pjsip_dialog::dlg_set

The dialog set which this dialog belongs (opaque type).

◆ state

pjsip_dialog_state pjsip_dialog::state

Dialog state.

◆ target

pjsip_uri* pjsip_dialog::target

Current target.

◆ target_set

pjsip_target_set pjsip_dialog::target_set

Target set, for UAC only.

◆ inv_hdr

pjsip_hdr pjsip_dialog::inv_hdr

Headers from hparam in dest URL

◆ local

pjsip_dlg_party pjsip_dialog::local

Local party info.

◆ remote

pjsip_dlg_party pjsip_dialog::remote

Remote party info.

◆ rem_cap_hdr

pjsip_hdr pjsip_dialog::rem_cap_hdr

List of remote capability header.

◆ role

pjsip_role_e pjsip_dialog::role

Initial role.

◆ uac_has_2xx

pj_bool_t pjsip_dialog::uac_has_2xx

UAC has received 2xx response?

◆ secure

pj_bool_t pjsip_dialog::secure

Use secure transport?

◆ add_allow

pj_bool_t pjsip_dialog::add_allow

Add Allow header in requests?

◆ call_id

pjsip_cid_hdr* pjsip_dialog::call_id

Call-ID header.

◆ route_set

pjsip_route_hdr pjsip_dialog::route_set

Route set.

◆ route_set_frozen

pj_bool_t pjsip_dialog::route_set_frozen

Route set has been set.

◆ auth_sess

pjsip_auth_clt_sess pjsip_dialog::auth_sess

Client authentication session.

◆ initial_dest

pj_str_t pjsip_dialog::initial_dest

Initial destination host.

◆ sess_count

int pjsip_dialog::sess_count

Session counter. Number of sessions.

◆ tsx_count

int pjsip_dialog::tsx_count

Transaction counter. Number of pending transactions.

◆ tp_sel

pjsip_tpselector pjsip_dialog::tp_sel

Transport selector.

◆ usage_cnt

unsigned pjsip_dialog::usage_cnt

Number of registered usages.

◆ usage

pjsip_module* pjsip_dialog::usage[PJSIP_MAX_MODULE]

Array of usages, priority sorted

◆ mod_data

void* pjsip_dialog::mod_data[PJSIP_MAX_MODULE]

Module specific data. Module data.

◆ via_addr

pjsip_host_port pjsip_dialog::via_addr

If via_addr is set, it will be used as the "sent-by" field of the Via header for outgoing requests as long as the request uses via_tp transport. Normally application should not use or access these fields.Via address.

◆ via_tp

const void* pjsip_dialog::via_tp

Via transport.

The documentation for this struct was generated from the following file:


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