Codename Pineapple

Home page | Mailing list | Docs

Last updated: Sat Feb 3 05:02:03 2007

Asterisk developer's documentation :: Codename Pineapple


sip_dialog Struct Reference

#include <sip3.h>

Collaboration diagram for sip_dialog:

Collaboration graph
[legend]

Detailed Description

PVT structure are used for each SIP dialog, ie. a call, a registration, a subscribe.

One SIP dialog is distinguished from another by these four items (if they exist)

Definition at line 992 of file sip3.h.

Public Member Functions

 AST_DECLARE_STRING_FIELDS (AST_STRING_FIELD(callid);AST_STRING_FIELD(theirtag);AST_STRING_FIELD(remotebranch);AST_STRING_FIELD(ourbranch);AST_STRING_FIELD(randdata);AST_STRING_FIELD(realm);AST_STRING_FIELD(nonce);AST_STRING_FIELD(opaque);AST_STRING_FIELD(qop);AST_STRING_FIELD(domain);AST_STRING_FIELD(from);AST_STRING_FIELD(useragent);AST_STRING_FIELD(exten);AST_STRING_FIELD(context);AST_STRING_FIELD(subscribecontext);AST_STRING_FIELD(subscribeuri);AST_STRING_FIELD(fromdomain);AST_STRING_FIELD(fromuser);AST_STRING_FIELD(fromname);AST_STRING_FIELD(tohost);AST_STRING_FIELD(language);AST_STRING_FIELD(mohinterpret);AST_STRING_FIELD(mohsuggest);AST_STRING_FIELD(rdnis);AST_STRING_FIELD(todnid);AST_STRING_FIELD(redircause);AST_STRING_FIELD(defaultuser);AST_STRING_FIELD(username);AST_STRING_FIELD(peername);AST_STRING_FIELD(authname);AST_STRING_FIELD(uri);AST_STRING_FIELD(okcontacturi);AST_STRING_FIELD(peersecret);AST_STRING_FIELD(peermd5secret);AST_STRING_FIELD(cid_num);AST_STRING_FIELD(cid_name);AST_STRING_FIELD(rpid);AST_STRING_FIELD(rpid_from);AST_STRING_FIELD(via);AST_STRING_FIELD(fullcontact);AST_STRING_FIELD(our_contact);AST_STRING_FIELD(accountcode);)

Data Fields

enum transfermodes allowtransfer
int amaflags
int authtries
int autoframing
int autokillid
ast_group_t callgroup
int callingpres
int capability
ast_variablechanvars
int dialogver
int expiry
ast_flags flags [2]
sip_history_head * history
unsigned int icseq
int initid
sip_requestinitreq
sip_invite_paraminviteoptions
int jointcapability
int jointnoncodeccapability
int lastinvite
char lastmsg [256]
time_t lastrtprx
time_t lastrtptx
int laststate
ast_mutex_t lock
int maxcallbitrate
int maxforwards
int method
sip_dialognext
int noncecount
int noncodeccapability
unsigned int ocseq
in_addr ourip
ast_channelowner
sip_requestpackets
sip_authpeerauth
int peercapability
int pendinginvite
ast_group_t pickupgroup
int prefcodec
ast_codec_pref prefs
sockaddr_in recv
int redircodecs
sockaddr_in redirip
sip_referrefer
sip_registryregistry
sip_devicerelatedpeer
sip_routeroute
int route_persistant
ast_rtprtp
sockaddr_in sa
int sessionid
int sessionversion
unsigned int sipoptions
enum dialogstate state
int stateid
enum subscriptiontype subscribed
t38properties t38
char tag [11]
int timer_t1
int timer_t2
ast_udptludptl
sockaddr_in udptlredirip
ast_dspvad
sockaddr_in vredirip
ast_rtpvrtp


Member Function Documentation

AST_DECLARE_STRING_FIELDS AST_STRING_FIELD(callid);AST_STRING_FIELD(theirtag);AST_STRING_FIELD(remotebranch);AST_STRING_FIELD(ourbranch);AST_STRING_FIELD(randdata);AST_STRING_FIELD(realm);AST_STRING_FIELD(nonce);AST_STRING_FIELD(opaque);AST_STRING_FIELD(qop);AST_STRING_FIELD(domain);AST_STRING_FIELD(from);AST_STRING_FIELD(useragent);AST_STRING_FIELD(exten);AST_STRING_FIELD(context);AST_STRING_FIELD(subscribecontext);AST_STRING_FIELD(subscribeuri);AST_STRING_FIELD(fromdomain);AST_STRING_FIELD(fromuser);AST_STRING_FIELD(fromname);AST_STRING_FIELD(tohost);AST_STRING_FIELD(language);AST_STRING_FIELD(mohinterpret);AST_STRING_FIELD(mohsuggest);AST_STRING_FIELD(rdnis);AST_STRING_FIELD(todnid);AST_STRING_FIELD(redircause);AST_STRING_FIELD(defaultuser);AST_STRING_FIELD(username);AST_STRING_FIELD(peername);AST_STRING_FIELD(authname);AST_STRING_FIELD(uri);AST_STRING_FIELD(okcontacturi);AST_STRING_FIELD(peersecret);AST_STRING_FIELD(peermd5secret);AST_STRING_FIELD(cid_num);AST_STRING_FIELD(cid_name);AST_STRING_FIELD(rpid);AST_STRING_FIELD(rpid_from);AST_STRING_FIELD(via);AST_STRING_FIELD(fullcontact);AST_STRING_FIELD(our_contact);AST_STRING_FIELD(accountcode);   ) 
 


Field Documentation

enum transfermodes allowtransfer
 

REFER: restriction scheme

Definition at line 1117 of file sip3.h.

Referenced by create_addr_from_peer(), handle_request_refer(), and sip_show_channel().

int amaflags
 

AMA Flags (only for billing)

Definition at line 1112 of file sip3.h.

Referenced by sip_new().

int authtries
 

Times we've tried to authenticate

Definition at line 1049 of file sip3.h.

Referenced by do_proxy_auth(), do_register_auth(), handle_response_bye(), handle_response_message(), handle_response_refer(), and handle_response_register().

int autoframing
 

????

Definition at line 1102 of file sip3.h.

Referenced by create_addr_from_peer(), register_verify(), and transmit_response_with_attachment().

int autokillid
 

Dialog response timer Auto-kill ID (scheduler)

Definition at line 1047 of file sip3.h.

Referenced by __sip_autodestruct(), cb_extensionstate(), handle_request_invite(), handle_request_subscribe(), sip_cancel_destroy(), and sip_hangup().

ast_group_t callgroup
 

Call group

Definition at line 1110 of file sip3.h.

Referenced by create_addr_from_peer(), and sip_new().

int callingpres
 

Caller ID presentation settings

Definition at line 1052 of file sip3.h.

Referenced by build_rpid(), sip_call(), and sip_new().

int capability
 

Special capability (codec)

Definition at line 1077 of file sip3.h.

Referenced by create_addr_from_peer(), handle_request_invite(), sip_call(), sip_new(), sip_show_channel(), and try_suggested_sip_codec().

struct ast_variable* chanvars
 

Channel variables to set for inbound call

Definition at line 1113 of file sip3.h.

Referenced by sip_new().

int dialogver
 

SUBSCRIBE: Version for subscription dialog-info

Definition at line 1124 of file sip3.h.

Referenced by transmit_state_notify().

int expiry
 

How long we take to expire

Definition at line 1050 of file sip3.h.

Referenced by handle_request_subscribe(), parse_register_contact(), respprep(), transmit_notify_with_mwi(), and transmit_state_notify().

struct ast_flags flags[2]
 

SIP_ flags - various flags grouped togheter to save memory

Definition at line 1065 of file sip3.h.

Referenced by __sip_destroy(), add_codec_to_sdp(), add_sdp(), build_via(), check_pendings(), check_via(), copy_via_headers(), create_addr_from_peer(), dialog_activate_media(), do_register_auth(), handle_request(), handle_request_bye(), handle_request_cancel(), handle_request_info(), handle_request_invite(), handle_request_refer(), handle_request_subscribe(), handle_response_answer(), handle_response_bye(), handle_response_invite(), handle_response_message(), handle_response_notify(), handle_response_peerpoke(), handle_response_refer(), handle_response_register(), initreqprep(), local_attended_transfer(), parse_moved_contact(), process_sdp(), process_sip_queue(), register_verify(), replace_cid(), reqprep(), respprep(), retrans_pkt(), send_request(), send_response(), set_address_from_contact(), sip_call(), sip_dtmfmode(), sip_get_rtp_peer(), sip_get_vrtp_peer(), sip_handle_t38_reinvite(), sip_hangup(), sip_indicate(), sip_nat_mode(), sip_new(), sip_poke_peer(), sip_read(), sip_real_dst(), sip_reg_timeout(), sip_rtp_read(), sip_scheddestroy(), sip_send_mwi_to_peer(), sip_senddigit_begin(), sip_senddigit_end(), sip_set_rtp_peer(), sip_set_udptl_peer(), sip_show_channel(), temp_pvt_init(), transmit_refer(), transmit_register(), transmit_reinvite_with_sdp(), transmit_response_with_attachment(), update_call_counter(), and write_media_frame().

struct sip_history_head* history
 

History of this SIP dialog

Definition at line 1063 of file sip3.h.

Referenced by sip_dump_history(), and sip_show_history().

unsigned int icseq
 

Current incoming seqno

Definition at line 1043 of file sip3.h.

Referenced by dialogstatechange().

int initid
 

Invite Auto-congest ID if appropriate (scheduler)

Definition at line 1057 of file sip3.h.

Referenced by auto_congest(), handle_response_invite(), and sip_call().

struct sip_request* initreq
 

Initial request that opened the SIP dialog Something that keeps getting overwritten

Definition at line 1059 of file sip3.h.

Referenced by create_addr_from_peer(), func_header_read(), get_also_info(), get_destination(), get_rdnis(), get_refer_info(), handle_request(), handle_request_bye(), handle_request_cancel(), handle_request_subscribe(), handle_response_bye(), handle_response_refer(), handle_response_register(), initialize_initreq(), register_verify(), reqprep(), set_initreq(), sip_handle_t38_reinvite(), sip_hangup(), sip_indicate(), sip_sipredirect(), transmit_notify_with_mwi(), transmit_notify_with_sipfrag(), transmit_refer(), transmit_register(), transmit_sip_request(), transmit_state_notify(), and write_media_frame().

struct sip_invite_param* inviteoptions
 

Options for INVITE

Definition at line 1108 of file sip3.h.

Referenced by do_proxy_auth(), sip_call(), and transmit_request_with_auth().

int jointcapability
 

Supported capability at both ends (codecs )

Definition at line 1078 of file sip3.h.

Referenced by add_sdp(), handle_request_invite(), sip_call(), sip_new(), sip_show_channel(), and try_suggested_sip_codec().

int jointnoncodeccapability
 

DTMF RFC2833 telephony-event

Definition at line 1082 of file sip3.h.

Referenced by sip_call().

int lastinvite
 

Last Cseq of invite

Definition at line 1044 of file sip3.h.

Referenced by handle_request_invite(), handle_request_notify(), handle_request_options(), and handle_request_subscribe().

char lastmsg[256]
 

Last Message sent/received

Definition at line 1056 of file sip3.h.

Referenced by reqprep(), and sip_show_channel().

time_t lastrtprx
 

Last RTP received

Definition at line 1099 of file sip3.h.

Referenced by add_t38_sdp(), check_rtp_timeout(), process_sdp(), sip_handle_t38_reinvite(), sip_read(), sip_set_rtp_peer(), and sip_set_udptl_peer().

time_t lastrtptx
 

Last RTP sent

Definition at line 1100 of file sip3.h.

Referenced by add_t38_sdp(), check_rtp_timeout(), process_sdp(), sip_handle_t38_reinvite(), sip_set_rtp_peer(), sip_set_udptl_peer(), and write_media_frame().

int laststate
 

SUBSCRIBE: Last known extension state

Definition at line 1123 of file sip3.h.

Referenced by cb_extensionstate().

ast_mutex_t lock
 

Dialog private lock

Definition at line 993 of file sip3.h.

Referenced by dialog_lock(), sip_get_vrtp_peer(), and sip_set_udptl_peer().

int maxcallbitrate
 

Maximum Call Bitrate for Video Calls

Definition at line 1084 of file sip3.h.

Referenced by add_sdp(), create_addr_from_peer(), dialog_activate_media(), and sip_show_channel().

int maxforwards
 

Max forwards for this dialog

Definition at line 1053 of file sip3.h.

int method
 

SIP method that opened this dialog

Definition at line 994 of file sip3.h.

Referenced by __sip_autodestruct(), __transmit_response(), respprep(), and sip_scheddestroy().

struct sip_dialog* next
 

Next dialog in chain

Definition at line 1131 of file sip3.h.

Referenced by __sip_destroy(), __sip_show_channels(), complete_sipch(), get_sip_dialog_byid_locked(), handle_request_subscribe(), match_or_create_dialog(), sip_show_channel(), sip_show_history(), and unload_module().

int noncecount
 

Nonce-count

Definition at line 1069 of file sip3.h.

Referenced by build_reply_digest(), and transmit_register().

int noncodeccapability
 

DTMF RFC2833 telephony-event

Definition at line 1081 of file sip3.h.

Referenced by create_addr_from_peer(), sip_call(), and sip_show_channel().

unsigned int ocseq
 

Current outgoing seqno

Definition at line 1042 of file sip3.h.

Referenced by dialogstatechange(), reqprep(), and transmit_register().

struct in_addr ourip
 

Our IP

Definition at line 1105 of file sip3.h.

Referenced by add_sdp(), add_t38_sdp(), build_callid_pvt(), build_rpid(), build_via(), get_our_media_address(), sip_handle_t38_reinvite(), sip_poke_peer(), sip_send_mwi_to_peer(), sip_set_rtp_peer(), sip_set_udptl_peer(), sip_show_channel(), and transmit_notify_with_mwi().

struct ast_channel* owner
 

Who owns us (if we have an owner)

Definition at line 1109 of file sip3.h.

Referenced by __sip_autodestruct(), __transmit_response(), auto_congest(), build_rpid(), check_rtp_timeout(), get_also_info(), get_rdnis(), get_refer_info(), handle_invite_replaces(), handle_request_cancel(), handle_request_info(), handle_request_invite(), handle_request_refer(), handle_response(), handle_response_answer(), handle_response_invite(), handle_response_notify(), handle_response_refer(), local_attended_transfer(), parse_moved_contact(), process_sip_queue(), receive_message(), retrans_pkt(), sip_fixup(), sip_handle_t38_reinvite(), sip_hangup(), sip_new(), sip_rtp_read(), sip_show_channel(), transmit_request_with_auth(), try_suggested_sip_codec(), and unload_module().

struct sip_request* packets
 

Packets scheduled for re-transmission

Definition at line 1062 of file sip3.h.

Referenced by __sip_ack(), __sip_pretend_ack(), __sip_reliable_xmit(), __sip_semi_ack(), and retrans_pkt().

struct sip_auth* peerauth
 

Realm authentication

Definition at line 1068 of file sip3.h.

int peercapability
 

Supported peer capability

Definition at line 1079 of file sip3.h.

Referenced by sip_get_codec(), and sip_show_channel().

int pendinginvite
 

Any pending invite ? (seqno of this)

Definition at line 1058 of file sip3.h.

Referenced by __sip_ack(), __sip_reliable_xmit(), handle_request_bye(), handle_request_invite(), sip_handle_t38_reinvite(), sip_hangup(), sip_read(), sip_set_rtp_peer(), and sip_set_udptl_peer().

ast_group_t pickupgroup
 

Pickup group

Definition at line 1111 of file sip3.h.

Referenced by create_addr_from_peer(), and sip_new().

int prefcodec
 

Preferred codec (outbound only)

Definition at line 1080 of file sip3.h.

Referenced by add_sdp(), sip_call(), and sip_new().

struct ast_codec_pref prefs
 

codec prefs

Definition at line 1076 of file sip3.h.

Referenced by add_sdp(), create_addr_from_peer(), sip_new(), and transmit_response_with_attachment().

struct sockaddr_in recv
 

SIP Received from

Definition at line 1104 of file sip3.h.

Referenced by copy_via_headers(), create_addr(), create_addr_from_peer(), function_sipchaninfo_read(), handle_response_bye(), handle_response_refer(), parse_register_contact(), process_sip_queue(), send_request(), set_address_from_contact(), sip_poke_peer(), sip_real_dst(), and sip_show_channel().

int redircodecs
 

Redirect codecs

Definition at line 1083 of file sip3.h.

Referenced by sip_set_rtp_peer().

struct sockaddr_in redirip
 

Where our RTP should be going if not to us

Definition at line 1097 of file sip3.h.

Referenced by check_rtp_timeout(), get_our_media_address(), sip_set_rtp_peer(), and sip_show_channel().

struct sip_refer* refer
 

REFER: SIP transfer data structure

Definition at line 1118 of file sip3.h.

Referenced by __sip_autodestruct(), __sip_show_channels(), get_also_info(), get_refer_info(), handle_invite_replaces(), handle_request_invite(), handle_request_refer(), handle_response_notify(), handle_response_refer(), local_attended_transfer(), sip_hangup(), sip_refer_allocate(), and transmit_refer().

struct sip_registry* registry
 

If this is a REGISTER dialog, to which registry

Definition at line 1129 of file sip3.h.

Referenced by get_destination(), handle_response_register(), and sip_reg_timeout().

struct sip_device* relatedpeer
 

If this dialog is related to a peer, which one Used in peerpoke, mwi subscriptions

Definition at line 1125 of file sip3.h.

Referenced by __sip_autodestruct(), handle_request_subscribe(), handle_response_peerpoke(), and sip_poke_peer().

struct sip_route* route
 

Head of linked list of routing steps (fm Record-Route)

Definition at line 1054 of file sip3.h.

Referenced by build_route(), reqprep(), and sip_show_channel().

int route_persistant
 

Is this the "real" route?

Definition at line 1055 of file sip3.h.

Referenced by build_route().

struct ast_rtp* rtp
 

RTP Session

Definition at line 1085 of file sip3.h.

Referenced by add_codec_to_sdp(), add_noncodec_to_sdp(), add_sdp(), check_rtp_timeout(), create_addr_from_peer(), dialog_activate_media(), do_setnat(), get_our_media_address(), handle_request_invite(), handle_response_answer(), process_sdp(), register_verify(), sip_get_rtp_peer(), sip_get_vrtp_peer(), sip_hangup(), sip_new(), sip_rtp_read(), sip_senddigit_begin(), sip_set_rtp_peer(), sip_write(), stop_media_flows(), and transmit_response_with_attachment().

struct sockaddr_in sa
 

Our peer

Definition at line 1096 of file sip3.h.

Referenced by build_reply_digest(), check_via(), create_addr(), create_addr_from_peer(), function_sipchaninfo_read(), handle_request_subscribe(), send_request(), set_address_from_contact(), set_destination(), sip_poke_peer(), sip_real_dst(), sip_send_mwi_to_peer(), and sip_show_channel().

int sessionid
 

SDP Session ID

Definition at line 1094 of file sip3.h.

Referenced by add_sdp(), and add_t38_sdp().

int sessionversion
 

SDP Session Version

Definition at line 1095 of file sip3.h.

Referenced by add_sdp(), and add_t38_sdp().

unsigned int sipoptions
 

Supported SIP options on the other end

Definition at line 1048 of file sip3.h.

Referenced by handle_request_invite(), parse_register_contact(), and sip_show_channel().

enum dialogstate state
 

Dialog state

Definition at line 995 of file sip3.h.

Referenced by dialogstatechange(), handle_request_info(), handle_request_subscribe(), handle_response_invite(), sip_hangup(), and sip_show_channel().

int stateid
 

SUBSCRIBE: ID for devicestate subscriptions

Definition at line 1122 of file sip3.h.

Referenced by cb_extensionstate(), and handle_request_subscribe().

enum subscriptiontype subscribed
 

SUBSCRIBE: Is this dialog a subscription?

Definition at line 1121 of file sip3.h.

Referenced by __sip_autodestruct(), cb_extensionstate(), handle_request_subscribe(), handle_response_notify(), sip_dump_history(), sip_show_channel(), sip_show_history(), transmit_notify_with_mwi(), and transmit_state_notify().

struct t38properties t38
 

T38 settings

Definition at line 1089 of file sip3.h.

Referenced by add_sdp(), add_t38_sdp(), create_addr_from_peer(), dialog_activate_media(), function_sipchaninfo_read(), handle_request_invite(), handle_response_answer(), sip_call(), sip_handle_t38_reinvite(), sip_read(), and sip_rtp_read().

char tag[11]
 

Dialog ID: Our tag for this session

Definition at line 1051 of file sip3.h.

Referenced by build_rpid(), get_sip_dialog_byid_locked(), handle_request(), handle_request_invite(), handle_request_subscribe(), match_or_create_dialog(), reqprep(), respprep(), sip_show_channel(), transmit_refer(), and transmit_register().

int timer_t1
 

SIP timer T1, ms rtt

Definition at line 1045 of file sip3.h.

Referenced by __sip_reliable_xmit(), create_addr(), create_addr_from_peer(), and sip_scheddestroy().

int timer_t2
 

SIP timer T2

Definition at line 1046 of file sip3.h.

struct ast_udptl* udptl
 

T.38 UDPTL session

Definition at line 1091 of file sip3.h.

Referenced by add_t38_sdp(), create_addr_from_peer(), dialog_activate_media(), do_setnat(), handle_request_invite(), handle_response_answer(), sip_get_udptl_peer(), sip_handle_t38_reinvite(), sip_new(), sip_rtp_read(), sip_set_udptl_peer(), sip_show_channel(), stop_media_flows(), and transmit_response_with_attachment().

struct sockaddr_in udptlredirip
 

Where our T.38 UDPTL should be going if not to us

Definition at line 1090 of file sip3.h.

Referenced by add_t38_sdp(), sip_handle_t38_reinvite(), and sip_set_udptl_peer().

struct ast_dsp* vad
 

Inband DTMF Detection dsp

Definition at line 1101 of file sip3.h.

Referenced by sip_dtmfmode(), sip_hangup(), sip_new(), and sip_rtp_read().

struct sockaddr_in vredirip
 

Where our Video RTP should be going if not to us

Definition at line 1098 of file sip3.h.

Referenced by get_our_media_address(), and sip_set_rtp_peer().

struct ast_rtp* vrtp
 

Video RTP session

Definition at line 1086 of file sip3.h.

Referenced by add_sdp(), check_rtp_timeout(), create_addr_from_peer(), dialog_activate_media(), do_setnat(), get_our_media_address(), handle_response_answer(), sip_get_vrtp_peer(), sip_hangup(), sip_indicate(), sip_new(), sip_rtp_read(), sip_set_rtp_peer(), sip_show_channel(), sip_write(), and stop_media_flows().


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

Asterisk is a trademark for Digium, inc.. | Edvina.net | Asterisk.org | This documentation was generated with Doxygen