Thu Jun 7 02:15:02 2012

Asterisk developer's documentation


sip_pvt Struct Reference

sip_pvt: PVT structures are used for each SIP dialog, ie. a call, a registration, a subscribe More...

Data Structures

struct  request_queue

Data Fields

ast_string_field __begin_field [0]
ast_string_field __end_field [0]
struct ast_string_field_mgr __field_mgr
const ast_string_field accountcode
enum transfermodes allowtransfer
int amaflags
const ast_string_field authname
int authtries
int autoframing
int autokillid
long branch
ast_group_t callgroup
const ast_string_field callid
int callingpres
int capability
struct ast_variablechanvars
const ast_string_field cid_name
const ast_string_field cid_num
const ast_string_field context
int dialogver
const ast_string_field domain
int expiry
const ast_string_field exten
struct ast_flags flags [2]
const ast_string_field from
const ast_string_field fromdomain
const ast_string_field fromname
const ast_string_field fromuser
const ast_string_field fullcontact
int glareinvite
int hangupcause
struct sip_history_headhistory
size_t history_entries
unsigned int icseq
int initid
struct sip_request initreq
long invite_branch
enum invitestates invitestate
int jointcapability
int jointnoncodeccapability
const ast_string_field language
const char * last_provisional
int lastinvite
char lastmsg [256]
time_t lastrtprx
time_t lastrtptx
int laststate
ast_mutex_t lock
int maxcallbitrate
int maxtime
int method
const ast_string_field mohinterpret
const ast_string_field mohsuggest
struct sip_pvtnext
const ast_string_field nonce
int noncecount
int noncodeccapability
unsigned int ocseq
struct offered_media offered_media [3]
const ast_string_field okcontacturi
const ast_string_field opaque
struct sip_invite_paramoptions
const ast_string_field our_contact
struct in_addr ourip
struct ast_channelowner
struct sip_pktpackets
struct sip_authpeerauth
int peercapability
const ast_string_field peermd5secret
const ast_string_field peername
const ast_string_field peersecret
int pendinginvite
ast_group_t pickupgroup
unsigned int portinuri:1
int prefcodec
struct ast_codec_pref prefs
struct provisional_keepalive_dataprovisional_keepalive_data
const ast_string_field qop
const ast_string_field randdata
const ast_string_field rdnis
const ast_string_field realm
struct sockaddr_in recv
int redircodecs
struct sockaddr_in redirip
struct sip_referrefer
struct sip_registryregistry
struct sip_peerrelatedpeer
struct sip_pvt::request_queue request_queue
int request_queue_sched_id
struct sip_routeroute
int route_persistant
const ast_string_field rpid
const ast_string_field rpid_from
struct ast_rtprtp
int rtptimeout
struct sockaddr_in sa
int sessionid
int sessionversion
unsigned int sipoptions
unsigned int stalenonce:1
int stateid
const ast_string_field subscribecontext
enum subscriptiontype subscribed
const ast_string_field subscribeuri
struct t38properties t38
char tag [11]
const ast_string_field theirtag
int timer_t1
const ast_string_field tohost
struct ast_udptludptl
struct sockaddr_in udptlredirip
const ast_string_field uri
const ast_string_field useragent
const ast_string_field username
struct ast_dspvad
char via [128]
struct sockaddr_in vredirip
struct ast_rtpvrtp
int waitid

Detailed Description

sip_pvt: PVT structures are used for each SIP dialog, ie. a call, a registration, a subscribe

Definition at line 946 of file chan_sip.c.


Field Documentation

Definition at line 987 of file chan_sip.c.

Definition at line 987 of file chan_sip.c.

Definition at line 987 of file chan_sip.c.

Definition at line 987 of file chan_sip.c.

Referenced by sip_new().

REFER: restriction scheme

Definition at line 1045 of file chan_sip.c.

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

int amaflags

AMA Flags

Definition at line 1033 of file chan_sip.c.

Referenced by check_user_full(), and sip_new().

int authtries

Times we've tried to authenticate

Definition at line 1010 of file chan_sip.c.

Referenced by do_proxy_auth(), do_register_auth(), handle_response(), handle_response_invite(), handle_response_refer(), and handle_response_register().

long branch

The branch identifier of this session

Definition at line 1012 of file chan_sip.c.

Referenced by build_via(), reqprep(), sip_alloc(), transmit_invite(), transmit_register(), and transmit_response_using_temp().

Call group

Definition at line 991 of file chan_sip.c.

Referenced by check_user_full(), create_addr_from_peer(), and sip_new().

Calling presentation

Definition at line 1009 of file chan_sip.c.

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

struct ast_variable* chanvars [read]

Channel variables to set for inbound call

Definition at line 1062 of file chan_sip.c.

Referenced by __sip_destroy(), check_user_full(), sip_alloc(), and sip_new().

Definition at line 987 of file chan_sip.c.

Referenced by sip_call(), and sip_new().

Definition at line 987 of file chan_sip.c.

Referenced by __sip_show_channels(), get_destination(), sip_new(), and sip_show_channel().

int dialogver

SUBSCRIBE: Version for subscription dialog-info

Definition at line 1050 of file chan_sip.c.

Referenced by handle_request_subscribe(), and transmit_state_notify().

Definition at line 987 of file chan_sip.c.

Referenced by build_reply_digest(), get_destination(), reply_digest(), and sip_new().

int expiry
struct ast_flags flags[2] [read]

SIP_ flags

Definition at line 994 of file chan_sip.c.

Referenced by __sip_autodestruct(), __sip_destroy(), __sip_show_channels(), add_codec_to_sdp(), add_sdp(), append_history_full(), build_via(), change_hold_state(), check_pendings(), check_user_full(), check_via(), copy_via_headers(), create_addr(), create_addr_from_peer(), do_register_auth(), find_call(), get_sip_pvt_byid_locked(), handle_invite_replaces(), handle_request(), handle_request_bye(), handle_request_cancel(), handle_request_info(), handle_request_invite(), handle_request_refer(), handle_request_subscribe(), handle_response(), handle_response_invite(), handle_response_peerpoke(), handle_response_refer(), handle_response_register(), initreqprep(), local_attended_transfer(), notify_extenstate_update(), parse_moved_contact(), process_sdp(), process_sdp_a_audio(), register_verify(), reqprep(), respprep(), retrans_pkt(), send_request(), send_response(), set_address_from_contact(), sip_alloc(), sip_alreadygone(), sip_answer(), sip_call(), sip_dtmfmode(), sip_get_rtp_peer(), sip_get_udptl_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_reinvite_retry(), sip_request_call(), sip_reregister(), 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(), sip_write(), sipsock_read(), transmit_notify_with_mwi(), transmit_refer(), transmit_register(), transmit_reinvite_with_sdp(), transmit_reinvite_with_t38_sdp(), transmit_response_using_temp(), transmit_response_with_sdp(), and update_call_counter().

Definition at line 987 of file chan_sip.c.

Referenced by find_call(), function_sipchaninfo_read(), retrans_pkt(), and sip_new().

Definition at line 987 of file chan_sip.c.

Referenced by initreqprep(), and sip_new().

Definition at line 987 of file chan_sip.c.

Referenced by build_rpid(), initreqprep(), sip_new(), and transmit_register().

Definition at line 987 of file chan_sip.c.

Referenced by initreqprep(), respprep(), set_address_from_contact(), and sip_new().

A invite received while a pending invite is already present is stored here. Its seqno is the value. Since this glare invite's seqno is not the same as the pending invite's, it must be held in order to properly process acknowledgements for our 491 response.

Definition at line 1035 of file chan_sip.c.

Referenced by handle_request(), and handle_request_invite().

Storage of hangupcause copied from our owner before we disconnect from the AST channel (only used at hangup)

Definition at line 1070 of file chan_sip.c.

Referenced by sip_hangup(), and transmit_request_with_auth().

struct sip_history_head* history [read]

History of this SIP dialog

Definition at line 1060 of file chan_sip.c.

Referenced by __sip_destroy(), sip_dump_history(), and sip_show_history().

Number of entires in the history

Definition at line 1061 of file chan_sip.c.

Referenced by __sip_destroy().

unsigned int icseq

Current incoming seqno

Definition at line 990 of file chan_sip.c.

Referenced by __sip_show_channels(), and handle_request().

int initid

Auto-congest ID if appropriate (scheduler)

Definition at line 1042 of file chan_sip.c.

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

struct sip_request initreq [read]

The branch used when we sent the initial INVITE

Definition at line 1013 of file chan_sip.c.

Referenced by reqprep(), and transmit_invite().

The state of the INVITE transaction only Global CallID Random data Account code Authorization realm Authorization nonce Opaque nonsense Quality of Protection, since SIP wasn't complicated enough yet. Authorization domain The From: header User agent in SIP request Extension where to start Context for this call Subscribecontext Subscribecontext Domain to show in the from field User to show in the user field Name to show in the user field Host we should put in the "to" field Default language for this call MOH class to use when put on hold MOH class to suggest when putting a peer on hold Referring DNIS Their tag [user] name [peer] name, not set if [user] Who we use for authentication Original requested URI URI from the 200 OK on INVITE Password Caller*ID number Caller*ID name The Contact: that the UA registers with us Our contact header Our RPID header Our RPID From header

Definition at line 949 of file chan_sip.c.

Referenced by check_pendings(), handle_request(), handle_request_bye(), handle_request_cancel(), handle_request_invite(), handle_response_invite(), send_provisional_keepalive_full(), sip_call(), sip_hangup(), sip_indicate(), sip_read(), sip_write(), and transmit_request().

Joint Non codec capability

Definition at line 1003 of file chan_sip.c.

Referenced by add_sdp(), check_user_full(), create_addr_from_peer(), process_sdp(), sip_call(), and sip_dtmfmode().

Definition at line 987 of file chan_sip.c.

Referenced by sip_new().

const char* last_provisional

The last successfully transmitted provisonal response message

Definition at line 1066 of file chan_sip.c.

Referenced by send_provisional_keepalive_full(), and transmit_provisional_response().

char lastmsg[256]

Last Message sent/received

Definition at line 1032 of file chan_sip.c.

Referenced by __sip_autodestruct(), __sip_show_channels(), handle_request(), initreqprep(), reqprep(), and sip_show_channel().

time_t lastrtprx

Last RTP received

Definition at line 1021 of file chan_sip.c.

Referenced by add_sdp(), 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 1022 of file chan_sip.c.

Referenced by add_sdp(), process_sdp(), sip_handle_t38_reinvite(), sip_set_rtp_peer(), sip_set_udptl_peer(), and sip_write().

int laststate

SUBSCRIBE: Last known extension state

Definition at line 1049 of file chan_sip.c.

Referenced by __sip_show_channels(), handle_request_subscribe(), handle_response(), and notify_extenstate_update().

Maximum Call Bitrate for Video Calls

Definition at line 1005 of file chan_sip.c.

Referenced by add_sdp(), check_user_full(), create_addr_from_peer(), sip_alloc(), and sip_show_channel().

int maxtime

Max time for first response

Definition at line 1041 of file chan_sip.c.

Referenced by create_addr_from_peer(), and sip_call().

int method

Definition at line 987 of file chan_sip.c.

Referenced by sip_indicate().

Definition at line 987 of file chan_sip.c.

Referenced by process_sdp().

struct sip_pvt* next [read]

Definition at line 987 of file chan_sip.c.

Referenced by build_reply_digest(), reply_digest(), and transmit_register().

Nonce-count

Definition at line 1030 of file chan_sip.c.

Referenced by build_reply_digest(), reply_digest(), transmit_register(), and transmit_response_with_auth().

DTMF RFC2833 telephony-event

Definition at line 1002 of file chan_sip.c.

Referenced by check_user_full(), create_addr_from_peer(), process_sdp(), sip_alloc(), sip_call(), and sip_show_channel().

unsigned int ocseq
struct offered_media offered_media[3] [read]

When receiving an SDP offer, it is important to take note of what media types were offered. By doing this, even if we don't want to answer a particular media stream with something meaningful, we can still put an m= line in our answer with the port set to 0.

The reason for the length being 3 is that in this branch of Asterisk, the only media types supported are image, audio, and video. Therefore we need to keep track of which types of media were offered.

Note that if we wanted to be 100% correct, we would keep a list of all media streams offered. That way we could respond even to unknown media types, and we could respond to multiple streams of the same type. Such large-scale changes are not a good idea for released branches, though, so we're compromising by just making sure that for the common cases: audio and video, and audio and T.38, we give the appropriate response to both media streams.

The large-scale changes would be a good idea for implementing during an SDP rewrite.

Definition at line 1085 of file chan_sip.c.

Referenced by add_sdp(), process_sdp(), transmit_invite(), transmit_reinvite_with_sdp(), and transmit_reinvite_with_t38_sdp().

Definition at line 987 of file chan_sip.c.

Referenced by reqprep().

Definition at line 987 of file chan_sip.c.

Referenced by build_reply_digest(), reply_digest(), and transmit_register().

struct sip_invite_param* options [read]
struct in_addr ourip [read]
struct ast_channel* owner [read]
struct sip_pkt* packets [read]
struct sip_auth* peerauth [read]

Realm authentication

Definition at line 1029 of file chan_sip.c.

Referenced by build_reply_digest(), and create_addr_from_peer().

Supported peer capability

Definition at line 1000 of file chan_sip.c.

Referenced by check_user_full(), process_sdp(), and sip_show_channel().

Definition at line 987 of file chan_sip.c.

Referenced by build_reply_digest(), check_user_full(), and transmit_register().

Definition at line 987 of file chan_sip.c.

Referenced by build_reply_digest(), check_user_full(), and transmit_register().

Pickup group

Definition at line 992 of file chan_sip.c.

Referenced by check_user_full(), create_addr_from_peer(), and sip_new().

unsigned int portinuri

Non zero if a port has been specified, will also disable srv lookups

Definition at line 1017 of file chan_sip.c.

Referenced by create_addr(), create_addr_from_peer(), and initreqprep().

int prefcodec

Preferred codec (outbound only)

Definition at line 1001 of file chan_sip.c.

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

struct ast_codec_pref prefs [read]

Scheduler data for provisional responses that need to be sent out to avoid cancellation

Definition at line 1065 of file chan_sip.c.

Referenced by __sip_destroy(), remove_provisional_keepalive_sched(), and update_provisional_keepalive().

Definition at line 987 of file chan_sip.c.

Referenced by build_reply_digest(), reply_digest(), and transmit_register().

Definition at line 987 of file chan_sip.c.

Referenced by sip_new().

struct sockaddr_in recv [read]

Redirect codecs

Definition at line 1004 of file chan_sip.c.

Referenced by add_sdp(), and sip_set_rtp_peer().

struct sockaddr_in redirip [read]

Where our RTP should be going if not to us

Definition at line 1019 of file chan_sip.c.

Referenced by add_sdp(), sip_set_rtp_peer(), and sip_show_channel().

struct sip_refer* refer [read]
struct sip_registry* registry [read]

If this is a REGISTER dialog, to which registry

Definition at line 1056 of file chan_sip.c.

Referenced by __sip_destroy(), do_register_auth(), handle_response(), handle_response_register(), reply_digest(), sip_reg_timeout(), sip_registry_destroy(), and transmit_register().

struct sip_peer* relatedpeer [read]

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

Definition at line 1054 of file chan_sip.c.

Referenced by __sip_destroy(), __sip_show_channels(), handle_request_subscribe(), handle_response(), handle_response_peerpoke(), and sip_poke_peer().

Requests that arrived but could not be processed immediately

Referenced by __sip_destroy(), process_request_queue(), queue_request(), scheduler_process_request_queue(), sip_alloc(), and sipsock_read().

Scheduler ID of any scheduled action to process queued requests

Definition at line 1064 of file chan_sip.c.

Referenced by __sip_destroy(), queue_request(), scheduler_process_request_queue(), sip_alloc(), and sipsock_read().

struct sip_route* route [read]

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

Definition at line 1027 of file chan_sip.c.

Referenced by __sip_destroy(), build_route(), handle_response_invite(), initreqprep(), reqprep(), and sip_show_channel().

Is this the "real" route?

Definition at line 1028 of file chan_sip.c.

Referenced by build_route().

Definition at line 987 of file chan_sip.c.

Referenced by build_rpid(), initreqprep(), and reqprep().

Definition at line 987 of file chan_sip.c.

Referenced by build_rpid(), and initreqprep().

struct ast_rtp* rtp [read]

RTP timeout time

Definition at line 1023 of file chan_sip.c.

Referenced by create_addr_from_peer().

struct sockaddr_in sa [read]
int sessionid

SDP Session ID

Definition at line 1015 of file chan_sip.c.

Referenced by add_sdp().

SDP Session Version

Definition at line 1016 of file chan_sip.c.

Referenced by add_sdp().

unsigned int sipoptions

Supported SIP options on the other end

Definition at line 996 of file chan_sip.c.

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

unsigned int stalenonce

Marks the current nonce as responded too

Definition at line 1031 of file chan_sip.c.

Referenced by check_auth(), and set_nonce_randdata().

int stateid

SUBSCRIBE: ID for devicestate subscriptions

Definition at line 1048 of file chan_sip.c.

Referenced by __sip_destroy(), handle_request_subscribe(), notify_extenstate_update(), and sip_alloc().

Definition at line 987 of file chan_sip.c.

Referenced by get_destination(), and handle_request_subscribe().

Definition at line 987 of file chan_sip.c.

Referenced by __sip_show_channels(), and handle_request_subscribe().

struct t38properties t38 [read]
char tag[11]
int timer_t1

SIP timer T1, ms rtt

Definition at line 995 of file chan_sip.c.

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

Definition at line 987 of file chan_sip.c.

Referenced by create_addr_from_peer(), initreqprep(), and transmit_register().

struct ast_udptl* udptl [read]
struct sockaddr_in udptlredirip [read]

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

Definition at line 1007 of file chan_sip.c.

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

struct ast_dsp* vad [read]

Voice Activation Detection dsp

Definition at line 1052 of file chan_sip.c.

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

char via[128]

Via: header

Definition at line 988 of file chan_sip.c.

Referenced by build_via(), initreqprep(), reqprep(), and transmit_register().

struct sockaddr_in vredirip [read]

Where our Video RTP should be going if not to us

Definition at line 1020 of file chan_sip.c.

Referenced by add_sdp(), and sip_set_rtp_peer().

struct ast_rtp* vrtp [read]
int waitid

Wait ID for scheduler after 491 or other delays

Definition at line 1043 of file chan_sip.c.

Referenced by __sip_destroy(), check_pendings(), handle_response_invite(), sip_alloc(), sip_hangup(), and sip_reinvite_retry().


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

Generated on 7 Jun 2012 for Asterisk - the Open Source PBX by  doxygen 1.6.1