Asterisk - The Open Source Telephony Project  18.5.0
Data Structures | Data Fields
chan_iax2_pvt Struct Reference
Collaboration diagram for chan_iax2_pvt:
Collaboration graph
[legend]

Data Structures

struct  signaling_queue
 

Data Fields

struct ast_string_field_mgr __field_mgr
 
struct ast_string_field_pool__field_mgr_pool
 
const ast_string_field accountcode
 
struct ast_sockaddr addr
 
int adsi
 
int amaflags
 
const ast_string_field ani
 
unsigned char aseqno
 
int authfail
 
int authid
 
int authmethods
 
int authrej
 
int autoid
 
unsigned short bridgecallno
 
ast_callid callid
 
int calling_pres
 
int calling_tns
 
int calling_ton
 
unsigned short callno
 
callno_entry callno_entry
 
unsigned char calltoken_ie_len
 
iax2_format capability
 
const ast_string_field challenge
 
iax2_format chosenformat
 
const ast_string_field cid_name
 
const ast_string_field cid_num
 
const ast_string_field context
 
ast_aes_decrypt_key dcx
 
int destroy_initiated
 
const ast_string_field dnid
 
struct {
   struct iax2_dpcache *   first
 
   struct iax2_dpcache *   last
 
dpentries
 
const ast_string_field dproot
 
ast_aes_encrypt_key ecx
 
int encmethods
 
int error
 
int expiry
 
const ast_string_field exten
 
int first_iax_message
 
uint64_t flags
 
int frames_dropped
 
int frames_received
 
char hold_signaling
 
const ast_string_field host
 
struct ast_variableiaxvars
 
int initid
 
const ast_string_field inkeys
 
unsigned char iseqno
 
jitterbufjb
 
int jbid
 
int keyrotateid
 
int lag
 
int lagid
 
const ast_string_field language
 
unsigned int last
 
int last_iax_message
 
unsigned int lastsent
 
unsigned int lastvsent
 
int maxtime
 
int min
 
const ast_string_field mohinterpret
 
const ast_string_field mohsuggest
 
ast_aes_decrypt_key mydcx
 
unsigned int nextpred
 
unsigned int notsilenttx:1
 
struct timeval offset
 
unsigned char oseqno
 
const ast_string_field osptoken
 
const ast_string_field outkey
 
struct ast_channelowner
 
const ast_string_field parkinglot
 
const ast_string_field peer
 
int peeradsicpe
 
unsigned short peercallno
 
iax2_format peercapability
 
iax2_format peerformat
 
struct iax2_peerpeerpoke
 
int pingid
 
unsigned int pingtime
 
struct iax2_codec_pref prefs
 
const ast_string_field rdnis
 
struct iax2_registryreg
 
struct iax_rr remote_rr
 
struct iax2_codec_pref rprefs
 
unsigned char rseqno
 
struct timeval rxcore
 
const ast_string_field secret
 
unsigned char semirand [32]
 
struct chan_iax2_pvt::signaling_queue signaling_queue
 
int sockfd
 
struct ast_flags state
 
iax2_format svideoformat
 
iax2_format svoiceformat
 
ast_aes_encrypt_key tdcx
 
struct ast_sockaddr transfer
 
unsigned short transfercallno
 
int transferid
 
enum iax_transfer_state transferring
 
const ast_string_field username
 
struct ast_variablevars
 
iax2_format videoformat
 
iax2_format voiceformat
 

Detailed Description

Definition at line 697 of file chan_iax2.c.

Field Documentation

◆ __field_mgr

struct ast_string_field_mgr __field_mgr

Definition at line 816 of file chan_iax2.c.

◆ __field_mgr_pool

struct ast_string_field_pool* __field_mgr_pool

Definition at line 816 of file chan_iax2.c.

◆ accountcode

const ast_string_field accountcode

Definition at line 816 of file chan_iax2.c.

Referenced by ast_iax2_new().

◆ addr

struct ast_sockaddr addr

◆ adsi

int adsi

Definition at line 840 of file chan_iax2.c.

Referenced by ast_iax2_new(), check_access(), and iax2_call().

◆ amaflags

int amaflags

Definition at line 868 of file chan_iax2.c.

Referenced by __find_callno(), ast_iax2_new(), and check_access().

◆ ani

const ast_string_field ani

Hidden Caller ID (i.e. ANI) if appropriate

Definition at line 816 of file chan_iax2.c.

Referenced by ast_iax2_new().

◆ aseqno

unsigned char aseqno

Last incoming sequence number we have acknowledged

Definition at line 775 of file chan_iax2.c.

Referenced by complete_transfer(), iax2_send(), resend_with_token(), and socket_process_helper().

◆ authfail

int authfail

Reason to report failure

Definition at line 863 of file chan_iax2.c.

Referenced by auth_fail().

◆ authid

int authid

Authentication rejection ID

Definition at line 862 of file chan_iax2.c.

Referenced by auth_fail(), auth_reject(), iax2_destroy_helper(), and new_iax().

◆ authmethods

int authmethods

permitted authentication methods

Definition at line 820 of file chan_iax2.c.

Referenced by authenticate_request(), authenticate_verify(), check_access(), registry_authrequest(), and socket_process_helper().

◆ authrej

int authrej

AUTHREJ all AUTHREP frames

Definition at line 818 of file chan_iax2.c.

Referenced by authenticate_verify(), and check_access().

◆ autoid

int autoid

Auto hangup for Dialplan requestor

Definition at line 861 of file chan_iax2.c.

Referenced by auto_hangup(), iax2_destroy_helper(), iax2_dprequest(), iax2_provision(), and new_iax().

◆ bridgecallno

unsigned short bridgecallno

Callno of native bridge peer. (Valid if nonzero)

Definition at line 857 of file chan_iax2.c.

Referenced by iax2_key_rotate().

◆ callid

ast_callid callid

ast_callid bound to dialog

Definition at line 701 of file chan_iax2.c.

Referenced by iax_pvt_callid_get(), and iax_pvt_callid_set().

◆ calling_pres

int calling_pres

Definition at line 867 of file chan_iax2.c.

Referenced by ast_iax2_new(), check_access(), and socket_process_helper().

◆ calling_tns

int calling_tns

Definition at line 866 of file chan_iax2.c.

Referenced by ast_iax2_new(), and check_access().

◆ calling_ton

int calling_ton

Definition at line 865 of file chan_iax2.c.

Referenced by ast_iax2_new(), and check_access().

◆ callno

unsigned short callno

◆ callno_entry

Our callno_entry entry

Definition at line 739 of file chan_iax2.c.

Referenced by __find_callno(), make_trunk(), and pvt_destructor().

◆ calltoken_ie_len

unsigned char calltoken_ie_len

num bytes used for calltoken ie, even an empty ie should contain 2

Definition at line 885 of file chan_iax2.c.

Referenced by add_empty_calltoken_ie(), and resend_with_token().

◆ capability

iax2_format capability

What we are capable of sending

Definition at line 711 of file chan_iax2.c.

Referenced by ast_iax2_new(), cache_get_callno_locked(), check_access(), and socket_process_helper().

◆ challenge

const ast_string_field challenge

MD5 challenge

Definition at line 816 of file chan_iax2.c.

Referenced by authenticate_reply(), authenticate_request(), and authenticate_verify().

◆ chosenformat

iax2_format chosenformat

Negotiated format, this is only used to remember what format was chosen for an unauthenticated call so that the channel can get created later using the right format

Definition at line 745 of file chan_iax2.c.

Referenced by socket_process_helper().

◆ cid_name

const ast_string_field cid_name

Definition at line 816 of file chan_iax2.c.

Referenced by ast_iax2_new().

◆ cid_num

const ast_string_field cid_num

Caller ID if available

Definition at line 816 of file chan_iax2.c.

Referenced by ast_iax2_new(), and socket_process_helper().

◆ context

const ast_string_field context

Default Context

Definition at line 816 of file chan_iax2.c.

Referenced by ast_iax2_new(), check_access(), and socket_process_helper().

◆ dcx

Decryption AES-128 Key used to decrypt peer frames

Definition at line 828 of file chan_iax2.c.

Referenced by build_encryption_keys().

◆ destroy_initiated

int destroy_initiated

Destroying this call initiated.

Definition at line 883 of file chan_iax2.c.

Referenced by iax2_destroy_helper().

◆ dnid

const ast_string_field dnid

DNID

Definition at line 816 of file chan_iax2.c.

Referenced by ast_iax2_new().

◆ dpentries

struct { ... } dpentries

Referenced by new_iax().

◆ dproot

const ast_string_field dproot

Definition at line 816 of file chan_iax2.c.

◆ ecx

Encryption AES-128 Key

Definition at line 824 of file chan_iax2.c.

Referenced by build_ecx_key(), and iax2_send().

◆ encmethods

int encmethods

◆ error

int error

Error, as discovered by the manager

Definition at line 761 of file chan_iax2.c.

Referenced by __attempt_transmit(), and socket_process_helper().

◆ expiry

int expiry

Expiry (optional)

Definition at line 767 of file chan_iax2.c.

Referenced by __find_callno(), register_verify(), and Registration::write().

◆ exten

const ast_string_field exten

Requested Extension

Definition at line 816 of file chan_iax2.c.

Referenced by ast_iax2_new(), and socket_process_helper().

◆ first

struct iax2_dpcache* first

Definition at line 869 of file chan_iax2.c.

◆ first_iax_message

int first_iax_message

iax frame subclass that began iax2_pvt entry. 0x8000 bit is set on TX

Definition at line 721 of file chan_iax2.c.

Referenced by ast_cli_netstats(), iax2_send(), and socket_process_helper().

◆ flags

uint64_t flags

IAX_ flags

Definition at line 839 of file chan_iax2.c.

◆ frames_dropped

int frames_dropped

Dropped frame count: (just for stats)

Definition at line 879 of file chan_iax2.c.

◆ frames_received

int frames_received

received frame count: (just for stats)

Definition at line 881 of file chan_iax2.c.

Referenced by pvt_cmp_cb(), socket_process_helper(), and transfercallno_pvt_cmp_cb().

◆ hold_signaling

char hold_signaling

hold all signaling frames from the pbx thread until we have a destination callno

Definition at line 887 of file chan_iax2.c.

Referenced by new_iax(), queue_signalling(), send_signaling(), and socket_process_helper().

◆ host

const ast_string_field host

Hostname/peername for naming purposes

Definition at line 816 of file chan_iax2.c.

Referenced by ast_iax2_new(), and Registration::write().

◆ iaxvars

struct ast_variable* iaxvars

variables transmitted in a NEW packet

Definition at line 873 of file chan_iax2.c.

Referenced by ast_iax2_new(), and socket_process_helper().

◆ initid

int initid

Initial peer auto-congest ID (based on qualified peers)

Definition at line 864 of file chan_iax2.c.

Referenced by __auto_congest(), iax2_call(), iax2_destroy_helper(), new_iax(), and socket_process_helper().

◆ inkeys

const ast_string_field inkeys

Public keys permitted keys for incoming authentication

Definition at line 816 of file chan_iax2.c.

Referenced by authenticate_verify(), and socket_process_helper().

◆ iseqno

unsigned char iseqno

Next incoming sequence number

Definition at line 773 of file chan_iax2.c.

Referenced by complete_transfer(), iax2_send(), resend_with_token(), socket_process_helper(), and update_packet().

◆ jb

jitterbuf* jb

◆ jbid

int jbid

active jb read scheduler id

Definition at line 757 of file chan_iax2.c.

Referenced by __get_from_jb(), iax2_destroy_helper(), new_iax(), and update_jbsched().

◆ keyrotateid

int keyrotateid

scheduler id associated with iax_key_rotate for encrypted calls

Definition at line 831 of file chan_iax2.c.

Referenced by iax2_destroy_helper(), iax2_key_rotate(), iax2_send(), merge_encryption(), and new_iax().

◆ lag

int lag

LAG

Definition at line 759 of file chan_iax2.c.

Referenced by complete_transfer().

◆ lagid

int lagid

Retransmit lag request

Definition at line 860 of file chan_iax2.c.

Referenced by __find_callno(), __send_lagrq(), iax2_destroy_helper(), make_trunk(), and new_iax().

◆ language

const ast_string_field language

Preferred language

Definition at line 816 of file chan_iax2.c.

Referenced by ast_iax2_new().

◆ last [1/2]

unsigned int last

Last received timestamp

Definition at line 713 of file chan_iax2.c.

Referenced by complete_transfer(), socket_process_helper(), socket_process_meta(), and unwrap_timestamp().

◆ last [2/2]

struct iax2_dpcache* last

Definition at line 869 of file chan_iax2.c.

◆ last_iax_message

int last_iax_message

Last iax frame subclass sent or received for a iax2_pvt. 0x8000 bit is set on TX

Definition at line 723 of file chan_iax2.c.

Referenced by ast_cli_netstats(), iax2_send(), and socket_process_helper().

◆ lastsent

unsigned int lastsent

Last sent timestamp - never send the same timestamp twice in a single call

Definition at line 715 of file chan_iax2.c.

Referenced by calc_timestamp(), complete_transfer(), and iax2_send().

◆ lastvsent

unsigned int lastvsent

Timestamp of the last video frame sent

Definition at line 717 of file chan_iax2.c.

Referenced by iax2_send().

◆ maxtime

int maxtime

Max time for initial response

Definition at line 729 of file chan_iax2.c.

Referenced by iax2_call(), and iax2_request().

◆ min

int min

Current base time: (just for stats)

Definition at line 877 of file chan_iax2.c.

◆ mohinterpret

const ast_string_field mohinterpret

Definition at line 816 of file chan_iax2.c.

Referenced by iax2_indicate().

◆ mohsuggest

const ast_string_field mohsuggest

Definition at line 816 of file chan_iax2.c.

Referenced by socket_process_helper().

◆ mydcx

Decryption AES-128 Key corresponding to ecx

Definition at line 826 of file chan_iax2.c.

Referenced by build_ecx_key(), and iax2_send().

◆ nextpred

unsigned int nextpred

Next outgoing timestamp if everything is good

Definition at line 719 of file chan_iax2.c.

Referenced by calc_timestamp(), and complete_transfer().

◆ notsilenttx

unsigned int notsilenttx

True if the last voice we transmitted was not silence/CNG

Definition at line 725 of file chan_iax2.c.

Referenced by calc_timestamp().

◆ offset

struct timeval offset

timeval that we base our transmission on

Definition at line 751 of file chan_iax2.c.

Referenced by calc_timestamp(), and complete_transfer().

◆ oseqno

unsigned char oseqno

Next outgoing sequence number

Definition at line 769 of file chan_iax2.c.

Referenced by complete_transfer(), iax2_send(), resend_with_token(), and socket_process_helper().

◆ osptoken

const ast_string_field osptoken

received OSP token

Definition at line 816 of file chan_iax2.c.

Referenced by acf_channel_read().

◆ outkey

const ast_string_field outkey

Private key for outgoing authentication

Definition at line 816 of file chan_iax2.c.

◆ owner

struct ast_channel* owner

◆ parkinglot

const ast_string_field parkinglot

Default parkinglot

Definition at line 816 of file chan_iax2.c.

Referenced by ast_iax2_new().

◆ peer

const ast_string_field peer

Peer name

Definition at line 816 of file chan_iax2.c.

Referenced by ast_iax2_new(), and authenticate_reply().

◆ peeradsicpe

int peeradsicpe

Status of knowledge of peer ADSI capability

Definition at line 854 of file chan_iax2.c.

Referenced by ast_iax2_new(), and check_access().

◆ peercallno

unsigned short peercallno

◆ peercapability

iax2_format peercapability

Peer capability

Definition at line 749 of file chan_iax2.c.

Referenced by check_access(), and socket_process_helper().

◆ peerformat

iax2_format peerformat

Peer selected format

Definition at line 747 of file chan_iax2.c.

Referenced by check_access(), and socket_process_helper().

◆ peerpoke

struct iax2_peer* peerpoke

Associated peer for poking

Definition at line 837 of file chan_iax2.c.

Referenced by iax2_poke_peer().

◆ pingid

int pingid

Transmit PING request

Definition at line 859 of file chan_iax2.c.

Referenced by __find_callno(), __send_ping(), iax2_destroy_helper(), make_trunk(), and new_iax().

◆ pingtime

unsigned int pingtime

Ping time

Definition at line 727 of file chan_iax2.c.

Referenced by __find_callno(), complete_transfer(), iax2_call(), iax2_poke_peer(), and iax2_send().

◆ prefs

struct iax2_codec_pref prefs

Actual used codec preferences

Definition at line 733 of file chan_iax2.c.

Referenced by check_access(), new_iax(), and socket_process_helper().

◆ rdnis

const ast_string_field rdnis

RDNIS

Definition at line 816 of file chan_iax2.c.

Referenced by ast_iax2_new().

◆ reg

struct iax2_registry* reg

Associated registry

Definition at line 835 of file chan_iax2.c.

Referenced by __attempt_transmit(), delete_users(), iax2_ack_registry(), iax2_do_register(), pvt_destructor(), and registry_rerequest().

◆ remote_rr

struct iax_rr remote_rr

last received remote rr

Definition at line 875 of file chan_iax2.c.

Referenced by ast_cli_netstats(), handle_cli_iax2_show_channels(), log_jitterstats(), and save_rr().

◆ rprefs

struct iax2_codec_pref rprefs

Requested codec preferences

Definition at line 735 of file chan_iax2.c.

Referenced by check_access(), and socket_process_helper().

◆ rseqno

unsigned char rseqno

Next sequence number they have not yet acknowledged

Definition at line 771 of file chan_iax2.c.

Referenced by complete_transfer(), resend_with_token(), and socket_process_helper().

◆ rxcore

struct timeval rxcore

timeval that we base our delivery on

Definition at line 753 of file chan_iax2.c.

Referenced by __get_from_jb(), calc_rxstamp(), complete_transfer(), fix_peerts(), schedule_delivery(), and update_jbsched().

◆ secret

const ast_string_field secret

Expected Secret

Definition at line 816 of file chan_iax2.c.

Referenced by authenticate_reply(), authenticate_verify(), socket_process_helper(), and Registration::write().

◆ semirand

unsigned char semirand[32]

32 bytes of semi-random data

Definition at line 833 of file chan_iax2.c.

Referenced by build_ecx_key(), and iax2_send().

◆ signaling_queue

◆ sockfd

int sockfd

Socket to send/receive on for this call

Definition at line 699 of file chan_iax2.c.

Referenced by __find_callno(), iax2_call(), and iax2_trunk_queue().

◆ state

struct ast_flags state

What's our state?

Definition at line 765 of file chan_iax2.c.

Referenced by authenticate_verify(), socket_process_helper(), and socket_process_meta().

◆ svideoformat

iax2_format svideoformat

Last sent video format

Definition at line 709 of file chan_iax2.c.

Referenced by complete_transfer(), and iax2_send().

◆ svoiceformat

iax2_format svoiceformat

Last sent voice format

Definition at line 707 of file chan_iax2.c.

Referenced by complete_transfer(), and iax2_send().

◆ tdcx

Transfer encrypt AES-128 Key

Definition at line 851 of file chan_iax2.c.

◆ transfer

struct ast_sockaddr transfer

Who we are IAX transferring to

Definition at line 847 of file chan_iax2.c.

Referenced by __find_callno(), complete_transfer(), iax2_send(), match(), send_packet(), and try_transfer().

◆ transfercallno

unsigned short transfercallno

What's the new call number for the transfer

Definition at line 849 of file chan_iax2.c.

Referenced by complete_transfer(), iax2_destroy(), iax2_send(), match(), remove_by_transfercallno(), store_by_transfercallno(), transfercallno_pvt_hash_cb(), and try_transfer().

◆ transferid

int transferid

Transfer identifier

Definition at line 845 of file chan_iax2.c.

Referenced by try_transfer().

◆ transferring

enum iax_transfer_state transferring

Transferring status

Definition at line 843 of file chan_iax2.c.

Referenced by complete_transfer(), iax2_key_rotate(), iax2_send(), match(), socket_process_helper(), and try_transfer().

◆ username

const ast_string_field username

◆ vars

struct ast_variable* vars

variables inherited from the user definition

Definition at line 871 of file chan_iax2.c.

Referenced by ast_iax2_new(), check_access(), and pvt_destructor().

◆ videoformat

iax2_format videoformat

Last received video format

Definition at line 705 of file chan_iax2.c.

Referenced by complete_transfer(), and socket_process_helper().

◆ voiceformat

iax2_format voiceformat

Last received voice format

Definition at line 703 of file chan_iax2.c.

Referenced by __get_from_jb(), complete_transfer(), socket_process_helper(), and socket_process_meta().


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