Codename Pineapple

Home page | Mailing list | Docs

Last updated: Sat Feb 3 05:01:50 2007

Asterisk developer's documentation :: Codename Pineapple


sip3.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  cfsip_methods
 Structure for parsing of SIP methods. More...
struct  cfsip_options
 List of well-known SIP options. If we get this in a require, we should check the list and answer accordingly. More...
struct  cfsubscription_types
 Description of SUBSCRIBE events. More...
struct  channel_counters
 Counters for various objects. More...
struct  domain
 Domain data structure. More...
struct  expiry_times
 Structure for expiration times for inbound/outbound REGISTER. More...
struct  rtptimers
struct  sip_auth
 sip_auth: Credentials for authentication to other SIP services More...
struct  sip_config_struct
 SIP configuration definition structure. More...
struct  sip_device
 Structure for SIP peer data, we place calls to peers if registered or fixed IP address (host). More...
struct  sip_device_extra
struct  sip_device_list
 SIP devices (phones). More...
struct  sip_dialog
 PVT structure are used for each SIP dialog, ie. a call, a registration, a subscribe. More...
struct  sip_dual
 structure used in transfers More...
struct  sip_globals
struct  sip_history
 sip_history: Structure for saving transactions within a SIP dialog More...
struct  sip_invite_param
 Parameters to the transmit_invite function. More...
struct  sip_mwi_mailbox
struct  sip_network
 Network interface settings. More...
struct  sip_refer
 Structure to handle SIP transfers. Dynamically allocated when needed. More...
struct  sip_register_list
 The register list: Other SIP proxys we register with and place calls to. More...
struct  sip_registry
 Registrations with other SIP proxies. More...
struct  sip_request
 sip_request: The data grabbed from the UDP socket More...
struct  sip_route
 Structure to save routing information for a SIP session. More...
struct  sip_trans
 Invite transaction state. More...
struct  t38properties
 T.38 channel settings (at some point we need to make this alloc'ed. More...

External objects

sip_authauthl
sip_device_list devicelist
sip_dialogdialoglist
expiry_times expiry
 various expiry times for registrations
sip_globals global
io_contextio
const char notify_config []
ast_confignotify_types
sip_register_list regl
 The register list: Other SIP proxys we register with and place calls to.
sched_contextsched
const struct cfsip_methods sip_methods []
channel_counters sipcounters
sip_network sipnet

Defines

#define ALLOWED_METHODS   "INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY"
 SIP Methods we support.
#define append_history(p, event, fmt, args...)   append_history_full(p, "%-15s " fmt, event, ## args)
 Append to SIP dialog history.
#define CALLERID_UNKNOWN   "Unknown"
#define CAN_CREATE_DIALOG   0
#define CAN_NOT_CREATE_DIALOG   1
#define DEC_CALL_LIMIT   0
#define DEC_CALL_RINGING   2
#define DEFAULT_ALLOW_EXT_DOM   TRUE
#define DEFAULT_ALLOWGUEST   TRUE
#define DEFAULT_AUTOCREATEPEER   FALSE
#define DEFAULT_CALLERID   "asterisk"
#define DEFAULT_COMPACTHEADERS   FALSE
#define DEFAULT_CONTEXT   "default"
#define DEFAULT_DEFAULT_EXPIRY   120
#define DEFAULT_EXPIRY   900
#define DEFAULT_EXTERNREFRESH   30
#define DEFAULT_LISTEN_SIP_PORT   5060
#define DEFAULT_MAX_CALL_BITRATE   (384)
#define DEFAULT_MAX_EXPIRY   3600
#define DEFAULT_MAX_FORWARDS   70
#define DEFAULT_MIN_EXPIRY   60
#define DEFAULT_MOHINTERPRET   "default"
#define DEFAULT_MOHSUGGEST   ""
#define DEFAULT_MWITIME   10
#define DEFAULT_NOTIFYMIME   "application/simple-message-summary"
#define DEFAULT_NOTIFYRINGING   TRUE
#define DEFAULT_QUALIFY   FALSE
#define DEFAULT_QUALIFY_FREQ_NOTOK   10 * 1000
#define DEFAULT_QUALIFY_FREQ_OK   60 * 1000
#define DEFAULT_QUALIFY_MAXMS   2000
#define DEFAULT_REALM   "asterisk"
#define DEFAULT_REGISTRATION_TIMEOUT   20
#define DEFAULT_RETRANS   1000
#define DEFAULT_SRVLOOKUP   FALSE
#define DEFAULT_T1MIN   100
#define DEFAULT_TOS_AUDIO   0
#define DEFAULT_TOS_PRESENCE   0
#define DEFAULT_TOS_SIP   0
#define DEFAULT_TOS_VIDEO   0
#define DEFAULT_TRANS_TIMEOUT   -1
#define DEFAULT_USERAGENT   "Asterisk PBX"
#define DEFAULT_VMEXTEN   "asterisk"
#define EXPIRY_GUARD_LIMIT   30
#define EXPIRY_GUARD_MIN   500
#define EXPIRY_GUARD_PCT   0.20
#define EXPIRY_GUARD_SECS   15
#define FALSE   0
#define INC_CALL_LIMIT   1
#define INC_CALL_RINGING   3
#define INITIAL_CSEQ   101
#define IPTOS_MINCOST   0x02
#define MAX(a, b)   ((a) > (b) ? (a) : (b))
#define MAX_AUTHTRIES   3
#define MAX_RETRANS   6
#define NO_RTP   0
#define NOT_SUPPORTED   0
#define REG_MAGICMARKER   "ASTZVXW"
 Magic marker for registration contacts.
#define RTP   1
#define SIP_ALREADYGONE   (1 << 0)
#define SIP_CALL_LIMIT   (1 << 28)
#define SIP_CAN_BYE   (1 << 14)
#define SIP_CAN_REINVITE   (1 << 20)
#define SIP_CAN_REINVITE_NAT   (2 << 20)
#define SIP_DEFER_BYE_ON_TRANSFER   (1 << 15)
#define SIP_DTMF   (3 << 16)
#define SIP_DTMF_AUTO   (3 << 16)
#define SIP_DTMF_INBAND   (1 << 16)
#define SIP_DTMF_INFO   (2 << 16)
#define SIP_DTMF_RFC2833   (0 << 16)
#define SIP_FLAGS_TO_COPY
#define SIP_G726_NONSTANDARD   (1 << 31)
#define SIP_GOTREFER   (1 << 7)
#define SIP_INC_COUNT   (1 << 30)
#define SIP_INSECURE_INVITE   (1 << 24)
#define SIP_INSECURE_PORT   (1 << 23)
#define SIP_MAX_HEADERS   64
#define SIP_MAX_LINES   64
#define SIP_MAX_PACKET   4096
#define SIP_MSG_BUFSIZE   65536
#define SIP_NAT   (3 << 18)
#define SIP_NAT_ALWAYS   (3 << 18)
#define SIP_NAT_NEVER   (0 << 18)
#define SIP_NAT_RFC3581   (1 << 18)
#define SIP_NAT_ROUTE   (2 << 18)
#define SIP_NEEDDESTROY   (1 << 1)
#define SIP_NEEDREINVITE   (1 << 5)
#define SIP_NO_HISTORY   (1 << 27)
#define SIP_NOVIDEO   (1 << 2)
#define SIP_OPT_100REL   (1 << 1)
#define SIP_OPT_EARLY_SESSION   (1 << 3)
#define SIP_OPT_EVENTLIST   (1 << 11)
#define SIP_OPT_GRUU   (1 << 12)
#define SIP_OPT_HISTINFO   (1 << 15)
#define SIP_OPT_JOIN   (1 << 4)
#define SIP_OPT_NOREFERSUB   (1 << 14)
#define SIP_OPT_PATH   (1 << 5)
#define SIP_OPT_PRECONDITION   (1 << 7)
#define SIP_OPT_PREF   (1 << 6)
#define SIP_OPT_PRIVACY   (1 << 8)
#define SIP_OPT_REPLACES   (1 << 0)
#define SIP_OPT_RESPRIORITY   (1 << 16)
#define SIP_OPT_SDP_ANAT   (1 << 9)
#define SIP_OPT_SEC_AGREE   (1 << 10)
#define SIP_OPT_TARGET_DIALOG   (1 << 13)
#define SIP_OPT_TIMER   (1 << 2)
#define SIP_OUTGOING   (1 << 13)
#define SIP_PAGE2_ALLOWOVERLAP   (1 << 17)
#define SIP_PAGE2_ALLOWSUBSCRIBE   (1 << 16)
#define SIP_PAGE2_CALL_ONHOLD   (3 << 23)
#define SIP_PAGE2_CALL_ONHOLD_INACTIVE   (2 << 24)
#define SIP_PAGE2_CALL_ONHOLD_ONEDIR   (1 << 23)
#define SIP_PAGE2_COMPACTHEADERS   (1 << 28)
#define SIP_PAGE2_DEBUG   (3 << 11)
#define SIP_PAGE2_DEBUG_CONFIG   (1 << 11)
#define SIP_PAGE2_DEBUG_CONSOLE   (1 << 12)
#define SIP_PAGE2_DYNAMIC   (1 << 13)
#define SIP_PAGE2_FLAGS_TO_COPY
#define SIP_PAGE2_IGNOREREGEXPIRE   (1 << 10)
#define SIP_PAGE2_INC_RINGING   (1 << 19)
#define SIP_PAGE2_RFC2833_COMPENSATE   (1 << 26)
#define SIP_PAGE2_RT_FROMCONTACT   (1 << 4)
#define SIP_PAGE2_RTAUTOCLEAR   (1 << 2)
#define SIP_PAGE2_RTCACHEFRIENDS   (1 << 0)
#define SIP_PAGE2_RTSAVE_SYSNAME   (1 << 5)
#define SIP_PAGE2_RTUPDATE   (1 << 1)
#define SIP_PAGE2_SELFDESTRUCT   (1 << 14)
#define SIP_PAGE2_SERVICE   (1 << 27)
#define SIP_PAGE2_SUBSCRIBEMWIONLY   (1 << 18)
#define SIP_PAGE2_T38SUPPORT   (7 << 20)
#define SIP_PAGE2_T38SUPPORT_RTP   (2 << 20)
#define SIP_PAGE2_T38SUPPORT_TCP   (4 << 20)
#define SIP_PAGE2_T38SUPPORT_UDPTL   (1 << 20)
#define SIP_PAGE2_VIDEOSUPPORT   (1 << 15)
#define SIP_PENDINGBYE   (1 << 6)
#define SIP_PKT_CONNECTED   (1 << 8)
#define SIP_PKT_DEBUG   (1 << 0)
#define SIP_PKT_FATAL   (1 << 7)
#define SIP_PKT_IGNORE   (1 << 2)
#define SIP_PKT_IGNORE_REQ   (1 << 4)
#define SIP_PKT_IGNORE_RESP   (1 << 3)
#define SIP_PKT_INITREQ   (1 << 5)
#define SIP_PKT_PARSED   (1 << 9)
#define SIP_PKT_RESPONSE   (1 << 6)
#define SIP_PKT_WITH_TOTAG   (1 << 1)
#define SIP_PROG_INBAND   (3 << 25)
#define SIP_PROG_INBAND_NEVER   (0 << 25)
#define SIP_PROG_INBAND_NO   (1 << 25)
#define SIP_PROG_INBAND_YES   (2 << 25)
#define SIP_PROGRESS_SENT   (1 << 4)
#define SIP_PROMISCREDIR   (1 << 8)
#define SIP_REALTIME   (1 << 11)
#define SIP_REINVITE   (7 << 20)
#define SIP_REINVITE_UPDATE   (4 << 20)
#define SIP_RINGING   (1 << 3)
#define SIP_SENDRPID   (1 << 29)
#define SIP_TIMER_B_DEFAULT   (64 * SIP_TIMER_T1_DEFAULT)
#define SIP_TIMER_F_DEFAULT   (64 * SIP_TIMER_T1_DEFAULT)
#define SIP_TIMER_T1_DEFAULT   500
#define SIP_TIMER_T2_DEFAULT   4000
#define SIP_TIMER_T4_DEFAULT   5000
#define SIP_TRANS_TIMEOUT   32000
#define SIP_TRUSTRPID   (1 << 9)
#define SIP_USECLIENTCODE   (1 << 12)
#define SIP_USEREQPHONE   (1 << 10)
#define sipdebug   ast_test_flag(&global.flags[1], SIP_PAGE2_DEBUG)
#define sipdebug_config   ast_test_flag(&global.flags[1], SIP_PAGE2_DEBUG_CONFIG)
#define sipdebug_console   ast_test_flag(&global.flags[1], SIP_PAGE2_DEBUG_CONSOLE)
#define STANDARD_SIP_PORT   5060
#define SUPPORTED   1
#define SUPPORTED_EXTENSIONS   "replaces"
 SIP Extensions we support.
#define T38FAX_FILL_BIT_REMOVAL   (1 << 0)
#define T38FAX_RATE_12000   (1 << 12)
#define T38FAX_RATE_14400   (1 << 13)
#define T38FAX_RATE_2400   (1 << 8)
#define T38FAX_RATE_4800   (1 << 9)
#define T38FAX_RATE_7200   (1 << 10)
#define T38FAX_RATE_9600   (1 << 11)
#define T38FAX_RATE_MANAGEMENT_LOCAL_TCF   (1 << 3)
#define T38FAX_RATE_MANAGEMENT_TRANSFERED_TCF   (0 << 3)
#define T38FAX_TRANSCODING_JBIG   (1 << 2)
#define T38FAX_TRANSCODING_MMR   (1 << 1)
#define T38FAX_UDP_EC_FEC   (1 << 4)
#define T38FAX_UDP_EC_NONE   (0 << 4)
#define T38FAX_UDP_EC_REDUNDANCY   (2 << 4)
#define T38FAX_VERSION   (3 << 6)
#define T38FAX_VERSION_0   (0 << 6)
#define T38FAX_VERSION_1   (1 << 6)
#define THIS_IS_A_TEST   "Pineapples are sweet"
#define TRUE   1
#define UNLINK(element, head, prev)
#define VIDEO_CODEC_MASK   0x1fc0000

Enumerations

enum  check_auth_result {
  AUTH_SUCCESSFUL = 0, AUTH_CHALLENGE_SENT = 1, AUTH_SECRET_FAILED = -1, AUTH_USERNAME_MISMATCH = -2,
  AUTH_NOT_FOUND = -3, AUTH_FAKE_AUTH = -4, AUTH_UNKNOWN_DOMAIN = -5
}
 Authentication result from check_auth* functions. More...
enum  dialogstate {
  DIALOG_STATE_TRYING, DIALOG_STATE_PROCEEDING, DIALOG_STATE_EARLY, DIALOG_STATE_CONFIRMED,
  DIALOG_STATE_CONFIRMED_HOLD, DIALOG_STATE_TERMINATED, DIALOG_STATE_TERMINATED_AUTH
}
enum  domain_mode { SIP_DOMAIN_AUTO, SIP_DOMAIN_CONFIG }
 Modes for SIP domain handling in the PBX. More...
enum  invitetrans_state {
  INV_STATE_CALLING = 1, INV_STATE_PROCEEDING = 2, INV_STATE_PROCEEDING_EARLY_MEDIA = 3, INV_STATE_COMPLETED = 3,
  INV_STATE_CONFIRMED = 4, INV_STATE_TERMINATED = 5, INV_STATE_CANCELLED = 6
}
enum  objecttype { SIP_USER = (1 << 0), SIP_PEER = (1 << 1) }
enum  parse_register_result { PARSE_REGISTER_FAILED_MINEXPIRY, PARSE_REGISTER_FAILED, PARSE_REGISTER_UPDATE, PARSE_REGISTER_QUERY }
enum  referstatus {
  REFER_IDLE, REFER_SENT, REFER_RECEIVED, REFER_CONFIRMED,
  REFER_ACCEPTED, REFER_RINGING, REFER_200OK, REFER_FAILED,
  REFER_NOAUTH
}
 Parameters to know status of transfer. More...
enum  responseattach {
  WITH_MINEXPIRY, WITH_DATE, WITH_ALLOW, WITH_SDP,
  WITH_T38_SDP
}
 Variants for sending responses with transmit_response_with_attachment(). More...
enum  sip_auth_type { PROXY_AUTH = 407, WWW_AUTH = 401 }
 Authentication types - proxy or www authentication. More...
enum  sip_boolean { AST_FALSE = 0, AST_TRUE = 1, AST_HAVENOCLUEANDDONOTCARE = -1 }
enum  sip_config_category {
  SIP_CONFCAT_MISC, SIP_CONFCAT_JB, SIP_CONFCAT_NAT, SIP_CONFCAT_TIMERS,
  SIP_CONFCAT_REGISTRY, SIP_CONFCAT_DEFAULT, SIP_CONFCAT_STATUS, SIP_CONFCAT_SIGNAL,
  SIP_CONFCAT_REALTIME, SIP_CONFCAT_NETWORK, SIP_CONFCAT_LINE
}
enum  sip_config_objects {
  SIP_CONFOBJ_NONE = 0, SIP_CONFOBJ_GENERAL = (1 << 0), SIP_CONFOBJ_PHONE = (1 << 1), SIP_CONFOBJ_SERVICE = (1 << 2),
  SIP_CONFOBJ_TRUNK = (1 << 3), SIP_CONFOBJ_DOMAIN = (1 << 4), SIP_CONFOBJ_REALM = (1 << 5), SIP_CONFOBJ_ALL = (SIP_CONFOBJ_GENERAL | SIP_CONFOBJ_PHONE | SIP_CONFOBJ_SERVICE | SIP_CONFOBJ_TRUNK | SIP_CONFOBJ_DOMAIN),
  SIP_CONFOBJ_LINE = (SIP_CONFOBJ_PHONE | SIP_CONFOBJ_SERVICE | SIP_CONFOBJ_TRUNK), SIP_CONFOBJ_GONE = (1 << 7)
}
 For each config object, a flag that says where this config object can be used. More...
enum  sip_config_options {
  SIP_CONF_NONE = 0, SIP_CONF_NOT_VALID_FOR_OBJECT = 1, SIP_CONF_NOT_FOUND = 2, SIP_CONF_ACCSECRET,
  SIP_CONF_ALLOW, SIP_CONF_ALLOWEXTERNALDOMAINS, SIP_CONF_ALLOWGUEST, SIP_CONF_ALLOWOVERLAP,
  SIP_CONF_ALLOWSUBSCRIBE, SIP_CONF_ALLOWTRANSFER, SIP_CONF_ALWAYSAUTHREJECT, SIP_CONF_AUTH,
  SIP_CONF_AUTHUSER, SIP_CONF_AUTOCREATEPEER, SIP_CONF_AUTODOMAIN, SIP_CONF_AUTOFRAMING,
  SIP_CONF_BINDADDR, SIP_CONF_BINDPORT, SIP_CONF_CALLERID, SIP_CONF_CALLERPRES,
  SIP_CONF_CALLEVENTS, SIP_CONF_CALLGROUP, SIP_CONF_CALL_LIMIT, SIP_CONF_CANREINVITE,
  SIP_CONF_CDR_AMAFLAGS, SIP_CONF_CDR_ACCOUNTCODE, SIP_CONF_CHANVAR, SIP_CONF_CID_NAME,
  SIP_CONF_CID_NUMBER, SIP_CONF_COMPACTHEADERS, SIP_CONF_DEFAULTIP, SIP_CONF_DEFAULTUSER,
  SIP_CONF_DEFAULTPORT, SIP_CONF_DEFCONTEXT, SIP_CONF_DENY, SIP_CONF_DISALLOW,
  SIP_CONF_DOMAIN, SIP_CONF_DTMFMODE, SIP_CONF_EXPIRYDEFAULT, SIP_CONF_EXPIRYMAX,
  SIP_CONF_EXPIRYMIN, SIP_CONF_EXTERNHOST, SIP_CONF_EXTERNIP, SIP_CONF_EXTERNPORT,
  SIP_CONF_EXTERNREFRESH, SIP_CONF_FROMDOMAIN, SIP_CONF_FROMUSER, SIP_CONF_G726NONSTANDARD,
  SIP_CONF_GROUPDESC, SIP_CONF_GROUPVAR, SIP_CONF_HISTORYDUMP, SIP_CONF_HISTORYRECORD,
  SIP_CONF_HOST, SIP_CONF_IGNOREREGEXPIRE, SIP_CONF_INSECURE, SIP_CONF_JBENABLE,
  SIP_CONF_JBFORCE, SIP_CONF_JBIMPL, SIP_CONF_JBLOG, SIP_CONF_JBMAXSIZE,
  SIP_CONF_JBRESYNC, SIP_CONF_LANGUAGE, SIP_CONF_LOCALNET, SIP_CONF_MAXCALLBITRATE,
  SIP_CONF_MAXFORWARDS, SIP_CONF_MD5SECRET, SIP_CONF_MOHINTERPRET, SIP_CONF_MOHSUGGEST,
  SIP_CONF_MWICHECK, SIP_CONF_MWISUBSCRIBE, SIP_CONF_NAT, SIP_CONF_NOTIFYHOLD,
  SIP_CONF_NOTIFYMIME, SIP_CONF_NOTIFYRINGING, SIP_CONF_OUTBOUNDPROXY, SIP_CONF_OBPROXYPORT,
  SIP_CONF_PERMIT, SIP_CONF_PICKUPGROUP, SIP_CONF_PORT, SIP_CONF_PROGRESSINBAND,
  SIP_CONF_PROMISCREDIR, SIP_CONF_PROXY, SIP_CONF_PROXYPORT, SIP_CONF_QUALIFY,
  SIP_CONF_QUALIFY_TIMER_NOT_OK, SIP_CONF_QUALIFY_TIMER_OK, SIP_CONF_REALM, SIP_CONF_REGCONTEXT,
  SIP_CONF_REGEXTEN, SIP_CONF_REGISTER, SIP_CONF_REGISTRAR, SIP_CONF_REGISTRARPORT,
  SIP_CONF_REGISTERATTEMPTS, SIP_CONF_REGISTERTIMEOUT, SIP_CONF_RELAXDTMF, SIP_CONF_RFC2833COMPENSATE,
  SIP_CONF_RTAUTOCLEAR, SIP_CONF_RTFULLCONTACT, SIP_CONF_RTIPADDR, SIP_CONF_RTPHOLDTIMEOUT,
  SIP_CONF_RTPKEEPALIVE, SIP_CONF_RTPTIMEOUT, SIP_CONF_RTNAME, SIP_CONF_RTREGSECONDS,
  SIP_CONF_RTSAVESYSTEMNAME, SIP_CONF_RTUPDATE, SIP_CONF_RT_CACHEFRIENDS, SIP_CONF_SECRET,
  SIP_CONF_SENDRPID, SIP_CONF_SETVAR, SIP_CONF_SIPDEBUG, SIP_CONF_SIPDEBUGLEVEL,
  SIP_CONF_SRVLOOKUP, SIP_CONF_SUBSCRIBECONTEXT, SIP_CONF_T1MIN, SIP_CONF_T1DEFAULT,
  SIP_CONF_T2DEFAULT, SIP_CONF_T4DEFAULT, SIP_CONF_TIMER_B, SIP_CONF_TIMER_F,
  SIP_CONF_T38PT_RTP, SIP_CONF_T38PT_TCP, SIP_CONF_T38PT_UDPTL, SIP_CONF_TOS_AUDIO,
  SIP_CONF_TOS_PRESENSE, SIP_CONF_TOS_SIP, SIP_CONF_TOS_VIDEO, SIP_CONF_TRUSTRPID,
  SIP_CONF_TYPE, SIP_CONF_USECLIENTCODE, SIP_CONF_USEREQPHONE, SIP_CONF_USERAGENT,
  SIP_CONF_VIDEOSUPPORT, SIP_CONF_VMAILBOX, SIP_CONF_VMEXTEN
}
 SIP configuration options enum for configuration matrix sip_config[]. More...
enum  sip_result { AST_SUCCESS = 0, AST_FAILURE = -1 }
enum  sipdebuglevel { SIPDEBUG_ALL = 0, SIPDEBUG_CALLS, SIPDEBUG_NOPOKE }
enum  sipmethod {
  SIP_UNKNOWN, SIP_RESPONSE, SIP_REGISTER, SIP_OPTIONS,
  SIP_NOTIFY, SIP_INVITE, SIP_ACK, SIP_PRACK,
  SIP_BYE, SIP_REFER, SIP_SUBSCRIBE, SIP_MESSAGE,
  SIP_UPDATE, SIP_INFO, SIP_CANCEL, SIP_PUBLISH
}
 SIP Request methods known by Asterisk. More...
enum  sipregistrystate {
  REG_STATE_UNREGISTERED = 0, REG_STATE_REGSENT, REG_STATE_AUTHSENT, REG_STATE_REGISTERED,
  REG_STATE_REJECTED, REG_STATE_TIMEOUT, REG_STATE_NOAUTH, REG_STATE_FAILED
}
 States for outbound registrations (with register= lines in sip.conf. More...
enum  subscriptiontype {
  NONE = 0, XPIDF_XML, DIALOG_INFO_XML, CPIM_PIDF_XML,
  PIDF_XML, MWI_NOTIFICATION
}
enum  t38state {
  T38_DISABLED = 0, T38_LOCAL_DIRECT, T38_LOCAL_REINVITE, T38_PEER_DIRECT,
  T38_PEER_REINVITE, T38_ENABLED
}
 T38 States for a call. More...
enum  transaction_state { TRANS_TRYING, TRANS_PROCEEDING, TRANS_COMPLETED, TRANS_TERMINATED }
 Transaction state for non-invite transactions. More...
enum  transfermodes { TRANSFER_OPENFORALL, TRANSFER_CLOSED }
 Authorization scheme for call transfers. More...
enum  xmittype { XMIT_CRITICAL = 2, XMIT_RELIABLE = 1, XMIT_UNRELIABLE = 0 }

Functions

 AST_LIST_HEAD_NOLOCK (sip_history_head, sip_history)


Define Documentation

#define ALLOWED_METHODS   "INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY"
 

SIP Methods we support.

Definition at line 136 of file sip3.h.

#define append_history p,
event,
fmt,
args...   )     append_history_full(p, "%-15s " fmt, event, ## args)
 

Append to SIP dialog history.

Returns:
Always returns 0

Definition at line 829 of file sip3.h.

#define CALLERID_UNKNOWN   "Unknown"
 

Definition at line 55 of file sip3.h.

#define CAN_CREATE_DIALOG   0
 

Definition at line 935 of file sip3.h.

#define CAN_NOT_CREATE_DIALOG   1
 

Definition at line 936 of file sip3.h.

#define DEC_CALL_LIMIT   0
 

Definition at line 174 of file sip3.h.

#define DEC_CALL_RINGING   2
 

Definition at line 176 of file sip3.h.

#define DEFAULT_ALLOW_EXT_DOM   TRUE
 

Definition at line 163 of file sip3.h.

#define DEFAULT_ALLOWGUEST   TRUE
 

Definition at line 156 of file sip3.h.

#define DEFAULT_AUTOCREATEPEER   FALSE
 

Definition at line 166 of file sip3.h.

#define DEFAULT_CALLERID   "asterisk"
 

Definition at line 153 of file sip3.h.

#define DEFAULT_COMPACTHEADERS   FALSE
 

Definition at line 158 of file sip3.h.

#define DEFAULT_CONTEXT   "default"
 

Definition at line 149 of file sip3.h.

#define DEFAULT_DEFAULT_EXPIRY   120
 

Definition at line 47 of file sip3.h.

#define DEFAULT_EXPIRY   900
 

Expire slowly

Definition at line 71 of file sip3.h.

#define DEFAULT_EXTERNREFRESH   30
 

Definition at line 52 of file sip3.h.

Referenced by reload_config().

#define DEFAULT_LISTEN_SIP_PORT   5060
 

From RFC 3261 (former 2543)

Definition at line 147 of file sip3.h.

Referenced by reset_ip_interface(), and sipsock_init().

#define DEFAULT_MAX_CALL_BITRATE   (384)
 

Max bitrate for video

Definition at line 169 of file sip3.h.

#define DEFAULT_MAX_EXPIRY   3600
 

Definition at line 49 of file sip3.h.

#define DEFAULT_MAX_FORWARDS   70
 

Definition at line 51 of file sip3.h.

#define DEFAULT_MIN_EXPIRY   60
 

Definition at line 48 of file sip3.h.

#define DEFAULT_MOHINTERPRET   "default"
 

Definition at line 150 of file sip3.h.

#define DEFAULT_MOHSUGGEST   ""
 

Definition at line 151 of file sip3.h.

#define DEFAULT_MWITIME   10
 

Definition at line 155 of file sip3.h.

#define DEFAULT_NOTIFYMIME   "application/simple-message-summary"
 

Definition at line 154 of file sip3.h.

#define DEFAULT_NOTIFYRINGING   TRUE
 

Definition at line 165 of file sip3.h.

#define DEFAULT_QUALIFY   FALSE
 

Definition at line 167 of file sip3.h.

#define DEFAULT_QUALIFY_FREQ_NOTOK   10 * 1000
 

Qualification: How often to check, if the host is down...

Definition at line 76 of file sip3.h.

Referenced by reset_global_settings().

#define DEFAULT_QUALIFY_FREQ_OK   60 * 1000
 

Qualification: How often to check for the host to be up

Definition at line 74 of file sip3.h.

Referenced by reset_global_settings().

#define DEFAULT_QUALIFY_MAXMS   2000
 

Qualification: Must be faster than 2 seconds by default

Definition at line 73 of file sip3.h.

Referenced by build_device(), reload_config(), and sip_poke_peer().

#define DEFAULT_REALM   "asterisk"
 

Definition at line 164 of file sip3.h.

#define DEFAULT_REGISTRATION_TIMEOUT   20
 

Definition at line 50 of file sip3.h.

#define DEFAULT_RETRANS   1000
 

How frequently to retransmit Default: 2 * 500 ms in RFC 3261

Definition at line 78 of file sip3.h.

#define DEFAULT_SRVLOOKUP   FALSE
 

Recommended setting is ON

Definition at line 157 of file sip3.h.

#define DEFAULT_T1MIN   100
 

100 MS for minimal roundtrip time

Definition at line 168 of file sip3.h.

#define DEFAULT_TOS_AUDIO   0
 

Audio packets should be marked as DSCP EF (Expedited Forwarding), but the default is 0 to be compatible with previous versions.

Definition at line 160 of file sip3.h.

#define DEFAULT_TOS_PRESENCE   0
 

Presence notifications does not need SIP priority

Definition at line 162 of file sip3.h.

#define DEFAULT_TOS_SIP   0
 

Call signalling packets should be marked as DSCP CS3, but the default is 0 to be compatible with previous versions.

Definition at line 159 of file sip3.h.

#define DEFAULT_TOS_VIDEO   0
 

Video packets should be marked as DSCP AF41, but the default is 0 to be compatible with previous versions.

Definition at line 161 of file sip3.h.

#define DEFAULT_TRANS_TIMEOUT   -1
 

Definition at line 88 of file sip3.h.

#define DEFAULT_USERAGENT   "Asterisk PBX"
 

Default Useragent: header unless re-defined in sip.conf

Definition at line 171 of file sip3.h.

#define DEFAULT_VMEXTEN   "asterisk"
 

Definition at line 152 of file sip3.h.

#define EXPIRY_GUARD_LIMIT   30
 

Below here, we use EXPIRY_GUARD_PCT instead of EXPIRY_GUARD_SECS

Definition at line 63 of file sip3.h.

#define EXPIRY_GUARD_MIN   500
 

This is the minimum guard time applied. If GUARD_PCT turns out to be lower than this, it will use this time instead. This is in milliseconds.

Definition at line 65 of file sip3.h.

#define EXPIRY_GUARD_PCT   0.20
 

Percentage of expires timeout to use when below EXPIRY_GUARD_LIMIT

Definition at line 69 of file sip3.h.

#define EXPIRY_GUARD_SECS   15
 

How long before expiry do we reregister

Definition at line 62 of file sip3.h.

#define FALSE   0
 

Definition at line 30 of file sip3.h.

#define INC_CALL_LIMIT   1
 

Definition at line 175 of file sip3.h.

#define INC_CALL_RINGING   3
 

Definition at line 177 of file sip3.h.

#define INITIAL_CSEQ   101
 

our initial sip sequence number

Definition at line 98 of file sip3.h.

#define IPTOS_MINCOST   0x02
 

Definition at line 44 of file sip3.h.

#define MAX a,
 )     ((a) > (b) ? (a) : (b))
 

Definition at line 38 of file sip3.h.

#define MAX_AUTHTRIES   3
 

Try authentication three times, then fail

Definition at line 89 of file sip3.h.

#define MAX_RETRANS   6
 

Try only 6 times for retransmissions, a total of 7 transmissions

Definition at line 79 of file sip3.h.

#define NO_RTP   0
 

Definition at line 101 of file sip3.h.

#define NOT_SUPPORTED   0
 

Definition at line 114 of file sip3.h.

#define REG_MAGICMARKER   "ASTZVXW"
 

Magic marker for registration contacts.

Definition at line 58 of file sip3.h.

Referenced by get_destination(), and sip_register().

#define RTP   1
 

Definition at line 100 of file sip3.h.

#define SIP_ALREADYGONE   (1 << 0)
 

Whether or not we've already been destroyed by our peer

Definition at line 833 of file sip3.h.

#define SIP_CALL_LIMIT   (1 << 28)
 

Call limit enforced for this call

Definition at line 874 of file sip3.h.

#define SIP_CAN_BYE   (1 << 14)
 

Can we send BYE on this dialog?

Definition at line 847 of file sip3.h.

Referenced by check_pendings(), and handle_response_invite().

#define SIP_CAN_REINVITE   (1 << 20)
 

allow peers to be reinvited to send media directly p2p

Definition at line 862 of file sip3.h.

#define SIP_CAN_REINVITE_NAT   (2 << 20)
 

allow media reinvite when new peer is behind NAT

Definition at line 863 of file sip3.h.

#define SIP_DEFER_BYE_ON_TRANSFER   (1 << 15)
 

Do not hangup at first ast_hangup

Definition at line 848 of file sip3.h.

#define SIP_DTMF   (3 << 16)
 

DTMF Support: four settings, uses two bits

Definition at line 849 of file sip3.h.

#define SIP_DTMF_AUTO   (3 << 16)
 

DTMF Support: AUTO switch between rfc2833 and in-band DTMF

Definition at line 853 of file sip3.h.

#define SIP_DTMF_INBAND   (1 << 16)
 

DTMF Support: Inband audio, only for ULAW/ALAW - "inband"

Definition at line 851 of file sip3.h.

#define SIP_DTMF_INFO   (2 << 16)
 

DTMF Support: SIP Info messages - "info"

Definition at line 852 of file sip3.h.

#define SIP_DTMF_RFC2833   (0 << 16)
 

DTMF Support: RTP DTMF - "rfc2833"

Definition at line 850 of file sip3.h.

#define SIP_FLAGS_TO_COPY
 

Value:

Definition at line 879 of file sip3.h.

#define SIP_G726_NONSTANDARD   (1 << 31)
 

Use non-standard packing for G726-32 data

Definition at line 877 of file sip3.h.

#define SIP_GOTREFER   (1 << 7)
 

Got a refer?

Definition at line 840 of file sip3.h.

#define SIP_INC_COUNT   (1 << 30)
 

Did this connection increment the counter of in-use calls?

Definition at line 876 of file sip3.h.

#define SIP_INSECURE_INVITE   (1 << 24)
 

don't require authentication for incoming INVITEs

Definition at line 867 of file sip3.h.

#define SIP_INSECURE_PORT   (1 << 23)
 

don't require matching port for incoming requests

Definition at line 866 of file sip3.h.

#define SIP_MAX_HEADERS   64
 

Max amount of SIP headers to read

Definition at line 91 of file sip3.h.

#define SIP_MAX_LINES   64
 

Max amount of lines in SIP attachment (like SDP)

Definition at line 92 of file sip3.h.

#define SIP_MAX_PACKET   4096
 

Also from RFC 3261 (2543), should sub headers tho

Definition at line 94 of file sip3.h.

#define SIP_MSG_BUFSIZE   65536
 

Definition at line 96 of file sip3.h.

#define SIP_NAT   (3 << 18)
 

four settings, uses two bits

Definition at line 855 of file sip3.h.

#define SIP_NAT_ALWAYS   (3 << 18)
 

NAT Both ROUTE and RFC3581

Definition at line 859 of file sip3.h.

#define SIP_NAT_NEVER   (0 << 18)
 

No nat support

Definition at line 856 of file sip3.h.

#define SIP_NAT_RFC3581   (1 << 18)
 

NAT RFC3581

Definition at line 857 of file sip3.h.

#define SIP_NAT_ROUTE   (2 << 18)
 

NAT Only ROUTE

Definition at line 858 of file sip3.h.

#define SIP_NEEDDESTROY   (1 << 1)
 

if we need to be destroyed by the monitor thread

Definition at line 834 of file sip3.h.

#define SIP_NEEDREINVITE   (1 << 5)
 

Do we need to send another reinvite?

Definition at line 838 of file sip3.h.

#define SIP_NO_HISTORY   (1 << 27)
 

Supress recording request/response history

Definition at line 873 of file sip3.h.

#define SIP_NOVIDEO   (1 << 2)
 

Didn't get video in invite, don't offer

Definition at line 835 of file sip3.h.

#define SIP_OPT_100REL   (1 << 1)
 

Definition at line 117 of file sip3.h.

#define SIP_OPT_EARLY_SESSION   (1 << 3)
 

Definition at line 119 of file sip3.h.

#define SIP_OPT_EVENTLIST   (1 << 11)
 

Definition at line 127 of file sip3.h.

#define SIP_OPT_GRUU   (1 << 12)
 

Definition at line 128 of file sip3.h.

#define SIP_OPT_HISTINFO   (1 << 15)
 

Definition at line 131 of file sip3.h.

#define SIP_OPT_JOIN   (1 << 4)
 

Definition at line 120 of file sip3.h.

#define SIP_OPT_NOREFERSUB   (1 << 14)
 

Definition at line 130 of file sip3.h.

#define SIP_OPT_PATH   (1 << 5)
 

Definition at line 121 of file sip3.h.

#define SIP_OPT_PRECONDITION   (1 << 7)
 

Definition at line 123 of file sip3.h.

#define SIP_OPT_PREF   (1 << 6)
 

Definition at line 122 of file sip3.h.

#define SIP_OPT_PRIVACY   (1 << 8)
 

Definition at line 124 of file sip3.h.

#define SIP_OPT_REPLACES   (1 << 0)
 

Definition at line 116 of file sip3.h.

#define SIP_OPT_RESPRIORITY   (1 << 16)
 

Definition at line 132 of file sip3.h.

#define SIP_OPT_SDP_ANAT   (1 << 9)
 

Definition at line 125 of file sip3.h.

#define SIP_OPT_SEC_AGREE   (1 << 10)
 

Definition at line 126 of file sip3.h.

#define SIP_OPT_TARGET_DIALOG   (1 << 13)
 

Definition at line 129 of file sip3.h.

#define SIP_OPT_TIMER   (1 << 2)
 

Definition at line 118 of file sip3.h.

#define SIP_OUTGOING   (1 << 13)
 

Is this an outgoing call?

Definition at line 846 of file sip3.h.

#define SIP_PAGE2_ALLOWOVERLAP   (1 << 17)
 

Allow overlap dialing ?

Definition at line 900 of file sip3.h.

#define SIP_PAGE2_ALLOWSUBSCRIBE   (1 << 16)
 

Allow subscriptions from this peer?

Definition at line 899 of file sip3.h.

#define SIP_PAGE2_CALL_ONHOLD   (3 << 23)
 

Call states

Definition at line 907 of file sip3.h.

#define SIP_PAGE2_CALL_ONHOLD_INACTIVE   (2 << 24)
 

24: Inactive

Definition at line 909 of file sip3.h.

#define SIP_PAGE2_CALL_ONHOLD_ONEDIR   (1 << 23)
 

23: One directional hold

Definition at line 908 of file sip3.h.

#define SIP_PAGE2_COMPACTHEADERS   (1 << 28)
 

Whether this device is a service or not

Definition at line 912 of file sip3.h.

Referenced by handle_common_options().

#define SIP_PAGE2_DEBUG   (3 << 11)
 

Definition at line 893 of file sip3.h.

#define SIP_PAGE2_DEBUG_CONFIG   (1 << 11)
 

Definition at line 894 of file sip3.h.

#define SIP_PAGE2_DEBUG_CONSOLE   (1 << 12)
 

Definition at line 895 of file sip3.h.

#define SIP_PAGE2_DYNAMIC   (1 << 13)
 

Dynamic Peers register with Asterisk

Definition at line 896 of file sip3.h.

#define SIP_PAGE2_FLAGS_TO_COPY
 

Value:

Definition at line 915 of file sip3.h.

#define SIP_PAGE2_IGNOREREGEXPIRE   (1 << 10)
 

Definition at line 892 of file sip3.h.

#define SIP_PAGE2_INC_RINGING   (1 << 19)
 

Did this connection increment the counter of in-use calls?

Definition at line 902 of file sip3.h.

#define SIP_PAGE2_RFC2833_COMPENSATE   (1 << 26)
 

Definition at line 910 of file sip3.h.

#define SIP_PAGE2_RT_FROMCONTACT   (1 << 4)
 

Definition at line 889 of file sip3.h.

#define SIP_PAGE2_RTAUTOCLEAR   (1 << 2)
 

Definition at line 888 of file sip3.h.

#define SIP_PAGE2_RTCACHEFRIENDS   (1 << 0)
 

Definition at line 886 of file sip3.h.

#define SIP_PAGE2_RTSAVE_SYSNAME   (1 << 5)
 

Definition at line 890 of file sip3.h.

#define SIP_PAGE2_RTUPDATE   (1 << 1)
 

Definition at line 887 of file sip3.h.

#define SIP_PAGE2_SELFDESTRUCT   (1 << 14)
 

Automatic peers need to destruct themselves

Definition at line 897 of file sip3.h.

#define SIP_PAGE2_SERVICE   (1 << 27)
 

Whether this device is a service or not

Definition at line 911 of file sip3.h.

Referenced by build_device().

#define SIP_PAGE2_SUBSCRIBEMWIONLY   (1 << 18)
 

Only issue MWI notification if subscribed to

Definition at line 901 of file sip3.h.

#define SIP_PAGE2_T38SUPPORT   (7 << 20)
 

T38 Fax Passthrough Support

Definition at line 903 of file sip3.h.

#define SIP_PAGE2_T38SUPPORT_RTP   (2 << 20)
 

21: T38 Fax Passthrough Support

Definition at line 905 of file sip3.h.

#define SIP_PAGE2_T38SUPPORT_TCP   (4 << 20)
 

22: T38 Fax Passthrough Support

Definition at line 906 of file sip3.h.

#define SIP_PAGE2_T38SUPPORT_UDPTL   (1 << 20)
 

20: T38 Fax Passthrough Support

Definition at line 904 of file sip3.h.

#define SIP_PAGE2_VIDEOSUPPORT   (1 << 15)
 

Definition at line 898 of file sip3.h.

#define SIP_PENDINGBYE   (1 << 6)
 

Need to send bye after we ack?

Definition at line 839 of file sip3.h.

#define SIP_PKT_CONNECTED   (1 << 8)
 

Definition at line 931 of file sip3.h.

Referenced by __get_header(), __sip_ack(), __sip_reliable_xmit(), initialize_initreq(), process_sip_queue(), and reqprep().

#define SIP_PKT_DEBUG   (1 << 0)
 

Debug this packet

Definition at line 920 of file sip3.h.

#define SIP_PKT_FATAL   (1 << 7)
 

Definition at line 930 of file sip3.h.

Referenced by __sip_reliable_xmit(), and retrans_pkt().

#define SIP_PKT_IGNORE   (1 << 2)
 

This is a re-transmit, ignore it

Definition at line 922 of file sip3.h.

#define SIP_PKT_IGNORE_REQ   (1 << 4)
 

Req ignore - ???

Definition at line 924 of file sip3.h.

Referenced by handle_request().

#define SIP_PKT_IGNORE_RESP   (1 << 3)
 

Resp ignore - ???

Definition at line 923 of file sip3.h.

Referenced by handle_request().

#define SIP_PKT_INITREQ   (1 << 5)
 

This is the initial request in this dialog Will be freed when dialog is destroyed or when replaced.

Definition at line 925 of file sip3.h.

Referenced by __sip_ack(), process_sip_queue(), and set_initreq().

#define SIP_PKT_PARSED   (1 << 9)
 

Definition at line 933 of file sip3.h.

Referenced by __get_header(), __sip_ack(), and reqprep().

#define SIP_PKT_RESPONSE   (1 << 6)
 

This packet is a response, not a request

Definition at line 929 of file sip3.h.

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

#define SIP_PKT_WITH_TOTAG   (1 << 1)
 

This packet has a to-tag

Definition at line 921 of file sip3.h.

#define SIP_PROG_INBAND   (3 << 25)
 

three settings, uses two bits

Definition at line 869 of file sip3.h.

#define SIP_PROG_INBAND_NEVER   (0 << 25)
 

Definition at line 870 of file sip3.h.

#define SIP_PROG_INBAND_NO   (1 << 25)
 

Definition at line 871 of file sip3.h.

#define SIP_PROG_INBAND_YES   (2 << 25)
 

Definition at line 872 of file sip3.h.

#define SIP_PROGRESS_SENT   (1 << 4)
 

Have sent 183 message progress

Definition at line 837 of file sip3.h.

#define SIP_PROMISCREDIR   (1 << 8)
 

Promiscuous redirection

Definition at line 841 of file sip3.h.

#define SIP_REALTIME   (1 << 11)
 

Flag for realtime users

Definition at line 844 of file sip3.h.

#define SIP_REINVITE   (7 << 20)
 

three bits used

Definition at line 861 of file sip3.h.

#define SIP_REINVITE_UPDATE   (4 << 20)
 

use UPDATE (RFC3311) when reinviting this peer

Definition at line 864 of file sip3.h.

#define SIP_RINGING   (1 << 3)
 

Have sent 180 ringing

Definition at line 836 of file sip3.h.

#define SIP_SENDRPID   (1 << 29)
 

Remote Party-ID Support

Definition at line 875 of file sip3.h.

#define SIP_TIMER_B_DEFAULT   (64 * SIP_TIMER_T1_DEFAULT)
 

Timer B - timeout for INVITEs

Definition at line 83 of file sip3.h.

Referenced by reset_global_settings().

#define SIP_TIMER_F_DEFAULT   (64 * SIP_TIMER_T1_DEFAULT)
 

Timer F - timeout for non-INVITEs

Definition at line 84 of file sip3.h.

Referenced by reset_global_settings().

#define SIP_TIMER_T1_DEFAULT   500
 

Timer T1 default value (from rfc 3261)

Definition at line 80 of file sip3.h.

Referenced by reset_global_settings().

#define SIP_TIMER_T2_DEFAULT   4000
 

Timer T2 default value (from rfc 3261)

Definition at line 81 of file sip3.h.

Referenced by reset_global_settings().

#define SIP_TIMER_T4_DEFAULT   5000
 

Timer T4 default value (from rfc 3261)

Definition at line 82 of file sip3.h.

Referenced by reset_global_settings().

#define SIP_TRANS_TIMEOUT   32000
 

SIP request timeout (rfc 3261) 64*T1

Todo:
Use known T1 for timeout (peerpoke)

Definition at line 85 of file sip3.h.

#define SIP_TRUSTRPID   (1 << 9)
 

Trust RPID headers?

Definition at line 842 of file sip3.h.

#define SIP_USECLIENTCODE   (1 << 12)
 

Trust X-ClientCode info message

Definition at line 845 of file sip3.h.

#define SIP_USEREQPHONE   (1 << 10)
 

Add user=phone to numeric URI. Default off

Definition at line 843 of file sip3.h.

#define sipdebug   ast_test_flag(&global.flags[1], SIP_PAGE2_DEBUG)
 

Definition at line 961 of file sip3.h.

#define sipdebug_config   ast_test_flag(&global.flags[1], SIP_PAGE2_DEBUG_CONFIG)
 

Definition at line 962 of file sip3.h.

#define sipdebug_console   ast_test_flag(&global.flags[1], SIP_PAGE2_DEBUG_CONSOLE)
 

Definition at line 963 of file sip3.h.

#define STANDARD_SIP_PORT   5060
 

From RFC 3261 (former 2543)

Definition at line 148 of file sip3.h.

#define SUPPORTED   1
 

Define SIP option tags, used in Require: and Supported: headers We need to be aware of these properties in the phones to use the replace: header. We should not do that without knowing that the other end supports it... This is nothing we can configure, we learn by the dialog Supported: header on the REGISTER (peer) or the INVITE (other devices) We are not using many of these today, but will in the future. This is documented in RFC 3261

Definition at line 113 of file sip3.h.

#define SUPPORTED_EXTENSIONS   "replaces"
 

SIP Extensions we support.

Definition at line 139 of file sip3.h.

#define T38FAX_FILL_BIT_REMOVAL   (1 << 0)
 

Default: 0 (unset)

Definition at line 939 of file sip3.h.

#define T38FAX_RATE_12000   (1 << 12)
 

12000 bps t38FaxRate

Definition at line 958 of file sip3.h.

#define T38FAX_RATE_14400   (1 << 13)
 

14400 bps t38FaxRate

Definition at line 959 of file sip3.h.

#define T38FAX_RATE_2400   (1 << 8)
 

2400 bps t38FaxRate

Definition at line 954 of file sip3.h.

#define T38FAX_RATE_4800   (1 << 9)
 

4800 bps t38FaxRate

Definition at line 955 of file sip3.h.

#define T38FAX_RATE_7200   (1 << 10)
 

7200 bps t38FaxRate

Definition at line 956 of file sip3.h.

#define T38FAX_RATE_9600   (1 << 11)
 

9600 bps t38FaxRate

Definition at line 957 of file sip3.h.

#define T38FAX_RATE_MANAGEMENT_LOCAL_TCF   (1 << 3)
 

Unset for transferredTCF (UDPTL), set for localTCF (TPKT)

Definition at line 944 of file sip3.h.

#define T38FAX_RATE_MANAGEMENT_TRANSFERED_TCF   (0 << 3)
 

Definition at line 943 of file sip3.h.

#define T38FAX_TRANSCODING_JBIG   (1 << 2)
 

Default: 0 (unset)

Definition at line 941 of file sip3.h.

#define T38FAX_TRANSCODING_MMR   (1 << 1)
 

Default: 0 (unset)

Definition at line 940 of file sip3.h.

#define T38FAX_UDP_EC_FEC   (1 << 4)
 

Set for t38UDPFEC

Definition at line 947 of file sip3.h.

#define T38FAX_UDP_EC_NONE   (0 << 4)
 

two bits, if unset NO t38UDPEC field in T38 SDP

Definition at line 946 of file sip3.h.

#define T38FAX_UDP_EC_REDUNDANCY   (2 << 4)
 

Set for t38UDPRedundancy

Definition at line 948 of file sip3.h.

#define T38FAX_VERSION   (3 << 6)
 

two bits, 2 values so far, up to 4 values max

Definition at line 950 of file sip3.h.

#define T38FAX_VERSION_0   (0 << 6)
 

Version 0

Definition at line 951 of file sip3.h.

#define T38FAX_VERSION_1   (1 << 6)
 

Version 1

Definition at line 952 of file sip3.h.

#define THIS_IS_A_TEST   "Pineapples are sweet"
 

Definition at line 27 of file sip3.h.

#define TRUE   1
 

Definition at line 34 of file sip3.h.

#define UNLINK element,
head,
prev   ) 
 

--- some list management macros.

Definition at line 819 of file sip3.h.

#define VIDEO_CODEC_MASK   0x1fc0000
 

Video codecs from H.261 thru AST_FORMAT_MAX_VIDEO

Definition at line 42 of file sip3.h.


Enumeration Type Documentation

enum check_auth_result
 

Authentication result from check_auth* functions.

Enumerator:
AUTH_SUCCESSFUL 
AUTH_CHALLENGE_SENT 
AUTH_SECRET_FAILED 
AUTH_USERNAME_MISMATCH 
AUTH_NOT_FOUND 
AUTH_FAKE_AUTH 
AUTH_UNKNOWN_DOMAIN 

Definition at line 283 of file sip3.h.

00283                        {
00284    AUTH_SUCCESSFUL = 0,
00285    AUTH_CHALLENGE_SENT = 1,
00286    AUTH_SECRET_FAILED = -1,
00287    AUTH_USERNAME_MISMATCH = -2,
00288    AUTH_NOT_FOUND = -3, /* Returned by register_verify */
00289    AUTH_FAKE_AUTH = -4,
00290    AUTH_UNKNOWN_DOMAIN = -5,
00291 };

enum dialogstate
 

Enumerator:
DIALOG_STATE_TRYING  Sent invite, no response yet. Please answer :-) AST_STATE_RING, AST_STATE_DOWN, AST_STATE_RESERVED AST_STATE_OFFHOOK, AST_STATE_DIALING
DIALOG_STATE_PROCEEDING  Got 1xx reply without tag - something is alive! AST_STATE_RINGING
DIALOG_STATE_EARLY  We have early media or 1xx reply WITH tag If we get another with a different tag, it's another dialog (create a new pvt and, well, live with it AST_STATE_UP ???
DIALOG_STATE_CONFIRMED  2xx received, we have something going on, buddy AST_STATE_UP
DIALOG_STATE_CONFIRMED_HOLD  We are in CONFIRMED state on HOLD This is an ASTERISK state AST_STATE_UP
DIALOG_STATE_TERMINATED  This call is down - timeout, hangup, replaced AST_STATE_DOWN
DIALOG_STATE_TERMINATED_AUTH  Asterisk state for dialog that need to restart in TRYING for authentication

Definition at line 356 of file sip3.h.

00356                  {
00357    DIALOG_STATE_TRYING,    /*!< Sent invite, no response yet. Please answer :-) 
00358                \ref AST_STATE_RING, AST_STATE_DOWN, AST_STATE_RESERVED
00359                   AST_STATE_OFFHOOK, AST_STATE_DIALING
00360                */
00361    DIALOG_STATE_PROCEEDING,   /*!< Got 1xx reply without tag - something is alive! 
00362                \ref AST_STATE_RINGING
00363                */
00364    DIALOG_STATE_EARLY,     /*!< We have early media or 1xx reply WITH tag
00365                If we get another with a different tag, it's another
00366                dialog (create a new pvt and, well, live with it 
00367                \ref AST_STATE_UP ???
00368                */
00369    DIALOG_STATE_CONFIRMED,    /*!< 2xx received, we have something going on, buddy 
00370                \ref AST_STATE_UP
00371                */
00372    DIALOG_STATE_CONFIRMED_HOLD,  /*!< We are in CONFIRMED state on HOLD 
00373                This is an ASTERISK state 
00374                \ref AST_STATE_UP */
00375    DIALOG_STATE_TERMINATED,   /*!< This call is down - timeout, hangup, replaced 
00376                \ref AST_STATE_DOWN
00377                */
00378    DIALOG_STATE_TERMINATED_AUTH, /*!< Asterisk state for dialog that need to restart in
00379                   TRYING for authentication */
00380    
00381 };

enum domain_mode
 

Modes for SIP domain handling in the PBX.

Enumerator:
SIP_DOMAIN_AUTO  This domain is auto-configured
SIP_DOMAIN_CONFIG  This domain is from configuration

Definition at line 307 of file sip3.h.

00307                  {
00308    SIP_DOMAIN_AUTO,     /*!< This domain is auto-configured */
00309    SIP_DOMAIN_CONFIG,      /*!< This domain is from configuration */
00310 };

enum invitetrans_state
 

Enumerator:
INV_STATE_CALLING  Early state. Invite sent (only for client)
INV_STATE_PROCEEDING  Sent/Got 1xx message
INV_STATE_PROCEEDING_EARLY_MEDIA  Sent/Got 18x message
INV_STATE_COMPLETED  Sent/Got 300-699 message, Waiting for ACK, Then CONFIRMED
INV_STATE_CONFIRMED  For server transactions: We got an ACK (no more retries)
INV_STATE_TERMINATED  Sent/Got Transaction completed, finished, over and out buddy
  • We might have a call or not - check p->owner->_state
INV_STATE_CANCELLED  Sent/Got CANCEL or BYE in non-TERMINATED state

Definition at line 337 of file sip3.h.

00337                        {
00338         INV_STATE_CALLING = 1,      /*!< Early state. Invite sent (only for client) */
00339         INV_STATE_PROCEEDING = 2,   /*!< Sent/Got 1xx message */
00340         INV_STATE_PROCEEDING_EARLY_MEDIA = 3,   /*!< Sent/Got 18x message */
00341         INV_STATE_COMPLETED = 3,    /*!< Sent/Got 300-699 message, Waiting for ACK, Then CONFIRMED */
00342         INV_STATE_CONFIRMED = 4,    /*!< For server transactions: We got an ACK (no more retries) */
00343         INV_STATE_TERMINATED = 5,   /*!< Sent/Got Transaction completed, finished, over and out buddy 
00344                - We might have a call or not  - check p->owner->_state */
00345         INV_STATE_CANCELLED = 6,    /*!< Sent/Got CANCEL or BYE in non-TERMINATED state */
00346 };

enum objecttype
 

Enumerator:
SIP_USER 
SIP_PEER 

Definition at line 217 of file sip3.h.

00217                 {
00218    SIP_USER = (1 << 0),    /* USER places calls to the PBX */
00219    SIP_PEER = (1 << 1),    /* Peer receives calls from PBX (and places calls) */
00220 };

enum parse_register_result
 

Enumerator:
PARSE_REGISTER_FAILED_MINEXPIRY 
PARSE_REGISTER_FAILED 
PARSE_REGISTER_UPDATE 
PARSE_REGISTER_QUERY 

Definition at line 230 of file sip3.h.

enum referstatus
 

Parameters to know status of transfer.

Enumerator:
REFER_IDLE  No REFER is in progress
REFER_SENT  Sent REFER to transferee
REFER_RECEIVED  Received REFER from transferer
REFER_CONFIRMED  Refer confirmed with a 100 TRYING
REFER_ACCEPTED  Accepted by transferee
REFER_RINGING  Target Ringing
REFER_200OK  Answered by transfer target
REFER_FAILED  REFER declined - go on
REFER_NOAUTH  We had no auth for REFER

Definition at line 324 of file sip3.h.

00324                  {
00325         REFER_IDLE,                    /*!< No REFER is in progress */
00326         REFER_SENT,                    /*!< Sent REFER to transferee */
00327         REFER_RECEIVED,                /*!< Received REFER from transferer */
00328         REFER_CONFIRMED,               /*!< Refer confirmed with a 100 TRYING */
00329         REFER_ACCEPTED,                /*!< Accepted by transferee */
00330         REFER_RINGING,                 /*!< Target Ringing */
00331         REFER_200OK,                   /*!< Answered by transfer target */
00332         REFER_FAILED,                  /*!< REFER declined - go on */
00333         REFER_NOAUTH                   /*!< We had no auth for REFER */
00334 };

enum responseattach
 

Variants for sending responses with transmit_response_with_attachment().

Enumerator:
WITH_MINEXPIRY 
WITH_DATE 
WITH_ALLOW 
WITH_SDP 
WITH_T38_SDP 

Definition at line 182 of file sip3.h.

00182                     {
00183    WITH_MINEXPIRY,
00184    WITH_DATE,
00185    WITH_ALLOW,
00186    WITH_SDP,
00187    WITH_T38_SDP,
00188 };

enum sip_auth_type
 

Authentication types - proxy or www authentication.

Note:
Endpoints, like Asterisk, should always use WWW authentication to allow multiple authentications in the same call - to the proxy and to the end point.
Enumerator:
PROXY_AUTH 
WWW_AUTH 

Definition at line 277 of file sip3.h.

00277                    {
00278    PROXY_AUTH = 407,
00279    WWW_AUTH = 401,
00280 };

enum sip_boolean
 

Enumerator:
AST_FALSE 
AST_TRUE 
AST_HAVENOCLUEANDDONOTCARE 

Definition at line 198 of file sip3.h.

00198              {
00199    AST_FALSE = 0,
00200    AST_TRUE = 1,
00201    AST_HAVENOCLUEANDDONOTCARE = -1,
00202 } sip_boolean;

enum sip_config_category
 

Enumerator:
SIP_CONFCAT_MISC 
SIP_CONFCAT_JB 
SIP_CONFCAT_NAT 
SIP_CONFCAT_TIMERS 
SIP_CONFCAT_REGISTRY 
SIP_CONFCAT_DEFAULT 
SIP_CONFCAT_STATUS 
SIP_CONFCAT_SIGNAL 
SIP_CONFCAT_REALTIME 
SIP_CONFCAT_NETWORK 
SIP_CONFCAT_LINE 

Definition at line 539 of file sip3.h.

00539                          {
00540    SIP_CONFCAT_MISC, /* Misc options */
00541    SIP_CONFCAT_JB,      /* Jitter buffer options */
00542    SIP_CONFCAT_NAT,  /* NAT support */
00543    SIP_CONFCAT_TIMERS,  /* Various signalling timers */
00544    SIP_CONFCAT_REGISTRY,   /* Inbound and outbound registrations and subscriptions */
00545    SIP_CONFCAT_DEFAULT, /* Default settings */
00546    SIP_CONFCAT_STATUS,  /* Subscriptions and status reports (AMI/queue) */
00547    SIP_CONFCAT_SIGNAL,  /* SIP signalling options */
00548    SIP_CONFCAT_REALTIME,   /* ARA options */
00549    SIP_CONFCAT_NETWORK, /* Network interface, QoS */
00550    SIP_CONFCAT_LINE, /* Device, channel, trunk option only */
00551 };

enum sip_config_objects
 

For each config object, a flag that says where this config object can be used.

Enumerator:
SIP_CONFOBJ_NONE  Not valid option (futureware)
SIP_CONFOBJ_GENERAL  [general] section
SIP_CONFOBJ_PHONE  phone configuration
SIP_CONFOBJ_SERVICE  Service configuration
SIP_CONFOBJ_TRUNK  Trunk configuration
SIP_CONFOBJ_DOMAIN  Domain configurations
SIP_CONFOBJ_REALM  Realm configurations
SIP_CONFOBJ_ALL 
SIP_CONFOBJ_LINE 
SIP_CONFOBJ_GONE  Not valid option (history)

Definition at line 525 of file sip3.h.

00525                         {
00526    SIP_CONFOBJ_NONE  =  0,    /*!< Not valid option (futureware) */
00527    SIP_CONFOBJ_GENERAL  = (1 << 0), /*!< [general] section */
00528    SIP_CONFOBJ_PHONE = (1 << 1), /*!< phone configuration */
00529    SIP_CONFOBJ_SERVICE  = (1 << 2), /*!< Service configuration */
00530    SIP_CONFOBJ_TRUNK = (1 << 3), /*!< Trunk configuration */
00531    SIP_CONFOBJ_DOMAIN   = (1 << 4), /*!< Domain configurations */
00532    SIP_CONFOBJ_REALM = (1 << 5), /*!< Realm configurations */
00533    SIP_CONFOBJ_ALL      = (SIP_CONFOBJ_GENERAL | SIP_CONFOBJ_PHONE | SIP_CONFOBJ_SERVICE | SIP_CONFOBJ_TRUNK | SIP_CONFOBJ_DOMAIN),
00534    SIP_CONFOBJ_LINE  = (SIP_CONFOBJ_PHONE | SIP_CONFOBJ_SERVICE | SIP_CONFOBJ_TRUNK),
00535    SIP_CONFOBJ_GONE  =  (1 << 7),   /*!< Not valid option (history) */
00536 };

enum sip_config_options
 

SIP configuration options enum for configuration matrix sip_config[].

Enumerator:
SIP_CONF_NONE  Unknown
SIP_CONF_NOT_VALID_FOR_OBJECT  Configuration label not valid for object specified
SIP_CONF_NOT_FOUND  Unknown
SIP_CONF_ACCSECRET 
SIP_CONF_ALLOW 
SIP_CONF_ALLOWEXTERNALDOMAINS 
SIP_CONF_ALLOWGUEST 
SIP_CONF_ALLOWOVERLAP 
SIP_CONF_ALLOWSUBSCRIBE 
SIP_CONF_ALLOWTRANSFER 
SIP_CONF_ALWAYSAUTHREJECT 
SIP_CONF_AUTH 
SIP_CONF_AUTHUSER 
SIP_CONF_AUTOCREATEPEER 
SIP_CONF_AUTODOMAIN 
SIP_CONF_AUTOFRAMING 
SIP_CONF_BINDADDR 
SIP_CONF_BINDPORT 
SIP_CONF_CALLERID 
SIP_CONF_CALLERPRES 
SIP_CONF_CALLEVENTS 
SIP_CONF_CALLGROUP 
SIP_CONF_CALL_LIMIT 
SIP_CONF_CANREINVITE 
SIP_CONF_CDR_AMAFLAGS 
SIP_CONF_CDR_ACCOUNTCODE 
SIP_CONF_CHANVAR 
SIP_CONF_CID_NAME 
SIP_CONF_CID_NUMBER 
SIP_CONF_COMPACTHEADERS 
SIP_CONF_DEFAULTIP 
SIP_CONF_DEFAULTUSER 
SIP_CONF_DEFAULTPORT 
SIP_CONF_DEFCONTEXT 
SIP_CONF_DENY 
SIP_CONF_DISALLOW 
SIP_CONF_DOMAIN 
SIP_CONF_DTMFMODE 
SIP_CONF_EXPIRYDEFAULT 
SIP_CONF_EXPIRYMAX 
SIP_CONF_EXPIRYMIN 
SIP_CONF_EXTERNHOST 
SIP_CONF_EXTERNIP 
SIP_CONF_EXTERNPORT 
SIP_CONF_EXTERNREFRESH 
SIP_CONF_FROMDOMAIN 
SIP_CONF_FROMUSER 
SIP_CONF_G726NONSTANDARD 
SIP_CONF_GROUPDESC 
SIP_CONF_GROUPVAR 
SIP_CONF_HISTORYDUMP 
SIP_CONF_HISTORYRECORD 
SIP_CONF_HOST 
SIP_CONF_IGNOREREGEXPIRE 
SIP_CONF_INSECURE 
SIP_CONF_JBENABLE 
SIP_CONF_JBFORCE 
SIP_CONF_JBIMPL 
SIP_CONF_JBLOG 
SIP_CONF_JBMAXSIZE 
SIP_CONF_JBRESYNC 
SIP_CONF_LANGUAGE 
SIP_CONF_LOCALNET 
SIP_CONF_MAXCALLBITRATE 
SIP_CONF_MAXFORWARDS 
SIP_CONF_MD5SECRET 
SIP_CONF_MOHINTERPRET 
SIP_CONF_MOHSUGGEST 
SIP_CONF_MWICHECK 
SIP_CONF_MWISUBSCRIBE 
SIP_CONF_NAT 
SIP_CONF_NOTIFYHOLD 
SIP_CONF_NOTIFYMIME 
SIP_CONF_NOTIFYRINGING 
SIP_CONF_OUTBOUNDPROXY 
SIP_CONF_OBPROXYPORT 
SIP_CONF_PERMIT 
SIP_CONF_PICKUPGROUP 
SIP_CONF_PORT 
SIP_CONF_PROGRESSINBAND 
SIP_CONF_PROMISCREDIR 
SIP_CONF_PROXY 
SIP_CONF_PROXYPORT 
SIP_CONF_QUALIFY 
SIP_CONF_QUALIFY_TIMER_NOT_OK 
SIP_CONF_QUALIFY_TIMER_OK 
SIP_CONF_REALM 
SIP_CONF_REGCONTEXT 
SIP_CONF_REGEXTEN 
SIP_CONF_REGISTER 
SIP_CONF_REGISTRAR 
SIP_CONF_REGISTRARPORT 
SIP_CONF_REGISTERATTEMPTS 
SIP_CONF_REGISTERTIMEOUT 
SIP_CONF_RELAXDTMF 
SIP_CONF_RFC2833COMPENSATE 
SIP_CONF_RTAUTOCLEAR 
SIP_CONF_RTFULLCONTACT 
SIP_CONF_RTIPADDR 
SIP_CONF_RTPHOLDTIMEOUT 
SIP_CONF_RTPKEEPALIVE 
SIP_CONF_RTPTIMEOUT 
SIP_CONF_RTNAME 
SIP_CONF_RTREGSECONDS 
SIP_CONF_RTSAVESYSTEMNAME 
SIP_CONF_RTUPDATE 
SIP_CONF_RT_CACHEFRIENDS 
SIP_CONF_SECRET 
SIP_CONF_SENDRPID 
SIP_CONF_SETVAR 
SIP_CONF_SIPDEBUG 
SIP_CONF_SIPDEBUGLEVEL 
SIP_CONF_SRVLOOKUP 
SIP_CONF_SUBSCRIBECONTEXT 
SIP_CONF_T1MIN 
SIP_CONF_T1DEFAULT 
SIP_CONF_T2DEFAULT 
SIP_CONF_T4DEFAULT 
SIP_CONF_TIMER_B 
SIP_CONF_TIMER_F 
SIP_CONF_T38PT_RTP 
SIP_CONF_T38PT_TCP 
SIP_CONF_T38PT_UDPTL 
SIP_CONF_TOS_AUDIO 
SIP_CONF_TOS_PRESENSE 
SIP_CONF_TOS_SIP 
SIP_CONF_TOS_VIDEO 
SIP_CONF_TRUSTRPID 
SIP_CONF_TYPE 
SIP_CONF_USECLIENTCODE 
SIP_CONF_USEREQPHONE 
SIP_CONF_USERAGENT 
SIP_CONF_VIDEOSUPPORT 
SIP_CONF_VMAILBOX 
SIP_CONF_VMEXTEN 

Definition at line 384 of file sip3.h.

00384                         {
00385    SIP_CONF_NONE = 0,      /*!< Unknown */
00386    SIP_CONF_NOT_VALID_FOR_OBJECT = 1,     /*!< Configuration label not valid for object specified */
00387    SIP_CONF_NOT_FOUND = 2,    /*!< Unknown */
00388 
00389    SIP_CONF_ACCSECRET,
00390    SIP_CONF_ALLOW,
00391    SIP_CONF_ALLOWEXTERNALDOMAINS,
00392    SIP_CONF_ALLOWGUEST,
00393    SIP_CONF_ALLOWOVERLAP,
00394    SIP_CONF_ALLOWSUBSCRIBE,
00395    SIP_CONF_ALLOWTRANSFER,
00396    SIP_CONF_ALWAYSAUTHREJECT,
00397    SIP_CONF_AUTH,
00398    SIP_CONF_AUTHUSER,
00399    SIP_CONF_AUTOCREATEPEER,
00400    SIP_CONF_AUTODOMAIN,
00401    SIP_CONF_AUTOFRAMING,
00402    SIP_CONF_BINDADDR,
00403    SIP_CONF_BINDPORT,
00404    SIP_CONF_CALLERID,
00405    SIP_CONF_CALLERPRES,
00406    SIP_CONF_CALLEVENTS,
00407    SIP_CONF_CALLGROUP,
00408    SIP_CONF_CALL_LIMIT,
00409    SIP_CONF_CANREINVITE,
00410    SIP_CONF_CDR_AMAFLAGS,
00411    SIP_CONF_CDR_ACCOUNTCODE,
00412    SIP_CONF_CHANVAR,
00413    SIP_CONF_CID_NAME,
00414    SIP_CONF_CID_NUMBER,
00415    SIP_CONF_COMPACTHEADERS,
00416    SIP_CONF_DEFAULTIP,
00417    SIP_CONF_DEFAULTUSER,
00418    SIP_CONF_DEFAULTPORT,
00419    SIP_CONF_DEFCONTEXT,
00420    SIP_CONF_DENY,
00421    SIP_CONF_DISALLOW,
00422    SIP_CONF_DOMAIN,
00423    SIP_CONF_DTMFMODE,
00424    SIP_CONF_EXPIRYDEFAULT,
00425    SIP_CONF_EXPIRYMAX,
00426    SIP_CONF_EXPIRYMIN,
00427    SIP_CONF_EXTERNHOST,
00428    SIP_CONF_EXTERNIP,
00429    SIP_CONF_EXTERNPORT,
00430    SIP_CONF_EXTERNREFRESH,
00431    SIP_CONF_FROMDOMAIN,
00432    SIP_CONF_FROMUSER,
00433    SIP_CONF_G726NONSTANDARD,
00434    SIP_CONF_GROUPDESC,
00435    SIP_CONF_GROUPVAR,
00436    SIP_CONF_HISTORYDUMP,
00437    SIP_CONF_HISTORYRECORD,
00438    SIP_CONF_HOST,
00439    SIP_CONF_IGNOREREGEXPIRE,
00440    SIP_CONF_INSECURE,
00441    SIP_CONF_JBENABLE,
00442    SIP_CONF_JBFORCE,
00443    SIP_CONF_JBIMPL,
00444    SIP_CONF_JBLOG,
00445    SIP_CONF_JBMAXSIZE,
00446    SIP_CONF_JBRESYNC,
00447    SIP_CONF_LANGUAGE,
00448    SIP_CONF_LOCALNET,
00449    SIP_CONF_MAXCALLBITRATE,
00450    SIP_CONF_MAXFORWARDS,
00451    SIP_CONF_MD5SECRET,
00452    SIP_CONF_MOHINTERPRET,
00453    SIP_CONF_MOHSUGGEST,
00454    SIP_CONF_MWICHECK,
00455    SIP_CONF_MWISUBSCRIBE,
00456    SIP_CONF_NAT,
00457    SIP_CONF_NOTIFYHOLD,
00458    SIP_CONF_NOTIFYMIME,
00459    SIP_CONF_NOTIFYRINGING,
00460    SIP_CONF_OUTBOUNDPROXY,
00461    SIP_CONF_OBPROXYPORT,
00462    SIP_CONF_PERMIT,
00463    SIP_CONF_PICKUPGROUP,
00464    SIP_CONF_PORT,
00465    SIP_CONF_PROGRESSINBAND,
00466    SIP_CONF_PROMISCREDIR,
00467    SIP_CONF_PROXY,
00468    SIP_CONF_PROXYPORT,
00469    SIP_CONF_QUALIFY,
00470    SIP_CONF_QUALIFY_TIMER_NOT_OK,
00471    SIP_CONF_QUALIFY_TIMER_OK,
00472    SIP_CONF_REALM,
00473    SIP_CONF_REGCONTEXT,
00474    SIP_CONF_REGEXTEN,
00475    SIP_CONF_REGISTER,
00476    SIP_CONF_REGISTRAR,
00477    SIP_CONF_REGISTRARPORT,
00478    SIP_CONF_REGISTERATTEMPTS,
00479    SIP_CONF_REGISTERTIMEOUT,
00480    SIP_CONF_RELAXDTMF,
00481    SIP_CONF_RFC2833COMPENSATE,
00482    SIP_CONF_RTAUTOCLEAR,
00483    SIP_CONF_RTFULLCONTACT,
00484    SIP_CONF_RTIPADDR,
00485    SIP_CONF_RTPHOLDTIMEOUT,
00486    SIP_CONF_RTPKEEPALIVE,
00487    SIP_CONF_RTPTIMEOUT,
00488    SIP_CONF_RTNAME,     /* Only for realtime */
00489    SIP_CONF_RTREGSECONDS,
00490    SIP_CONF_RTSAVESYSTEMNAME,
00491    SIP_CONF_RTUPDATE,
00492    SIP_CONF_RT_CACHEFRIENDS,
00493    SIP_CONF_SECRET,
00494    SIP_CONF_SENDRPID,
00495    SIP_CONF_SETVAR,
00496    SIP_CONF_SIPDEBUG,
00497    SIP_CONF_SIPDEBUGLEVEL,
00498    SIP_CONF_SRVLOOKUP,
00499    SIP_CONF_SUBSCRIBECONTEXT,
00500    SIP_CONF_T1MIN,
00501    SIP_CONF_T1DEFAULT,
00502    SIP_CONF_T2DEFAULT,
00503    SIP_CONF_T4DEFAULT,
00504    SIP_CONF_TIMER_B,
00505    SIP_CONF_TIMER_F,
00506    SIP_CONF_T38PT_RTP,
00507    SIP_CONF_T38PT_TCP,
00508    SIP_CONF_T38PT_UDPTL,
00509    SIP_CONF_TOS_AUDIO,
00510    SIP_CONF_TOS_PRESENSE,
00511    SIP_CONF_TOS_SIP,
00512    SIP_CONF_TOS_VIDEO,
00513    SIP_CONF_TRUSTRPID,
00514    SIP_CONF_TYPE,
00515    SIP_CONF_USECLIENTCODE,
00516    SIP_CONF_USEREQPHONE,
00517    SIP_CONF_USERAGENT,
00518    SIP_CONF_VIDEOSUPPORT,
00519    SIP_CONF_VMAILBOX,
00520    SIP_CONF_VMEXTEN,
00521 };

enum sip_result
 

Enumerator:
AST_SUCCESS 
AST_FAILURE 

Definition at line 204 of file sip3.h.

00204                 {
00205    AST_SUCCESS = 0,
00206    AST_FAILURE = -1,
00207 };

enum sipdebuglevel
 

Enumerator:
SIPDEBUG_ALL  All requests and responses
SIPDEBUG_CALLS  INVITE, CANCEL, ACK & BYE
SIPDEBUG_NOPOKE  Everything BUT OPTIONS

Definition at line 266 of file sip3.h.

00266                    {
00267    SIPDEBUG_ALL = 0,    /*!< All requests and responses */
00268    SIPDEBUG_CALLS,      /*!< INVITE, CANCEL, ACK & BYE */
00269    SIPDEBUG_NOPOKE,  /*!< Everything BUT OPTIONS */
00270 };

enum sipmethod
 

SIP Request methods known by Asterisk.

Enumerator:
SIP_UNKNOWN  Unknown response
SIP_RESPONSE  Not request, response to outbound request
SIP_REGISTER 
SIP_OPTIONS 
SIP_NOTIFY 
SIP_INVITE 
SIP_ACK 
SIP_PRACK  Not supported at all
SIP_BYE 
SIP_REFER 
SIP_SUBSCRIBE 
SIP_MESSAGE 
SIP_UPDATE  We can send UPDATE; but not accept it
SIP_INFO 
SIP_CANCEL 
SIP_PUBLISH  Not supported at all

Definition at line 247 of file sip3.h.

00247                {
00248    SIP_UNKNOWN,      /*!< Unknown response */
00249    SIP_RESPONSE,     /*!< Not request, response to outbound request */
00250    SIP_REGISTER,
00251    SIP_OPTIONS,
00252    SIP_NOTIFY,
00253    SIP_INVITE,
00254    SIP_ACK,
00255    SIP_PRACK,     /*!< Not supported at all */
00256    SIP_BYE,
00257    SIP_REFER,
00258    SIP_SUBSCRIBE,
00259    SIP_MESSAGE,
00260    SIP_UPDATE,    /*!< We can send UPDATE; but not accept it */
00261    SIP_INFO,
00262    SIP_CANCEL,
00263    SIP_PUBLISH,      /*!< Not supported at all */
00264 };

enum sipregistrystate
 

States for outbound registrations (with register= lines in sip.conf.

Enumerator:
REG_STATE_UNREGISTERED  We are not registred
REG_STATE_REGSENT  Registration request sent
REG_STATE_AUTHSENT  We have tried to authenticate
REG_STATE_REGISTERED  Registred and done
REG_STATE_REJECTED  Registration rejected
REG_STATE_TIMEOUT  Registration timed out
REG_STATE_NOAUTH  We have no accepted credentials
REG_STATE_FAILED  Registration failed after several tries

Definition at line 294 of file sip3.h.

00294                       {
00295    REG_STATE_UNREGISTERED = 0,   /*!< We are not registred */
00296    REG_STATE_REGSENT,   /*!< Registration request sent */
00297    REG_STATE_AUTHSENT,  /*!< We have tried to authenticate */
00298    REG_STATE_REGISTERED,   /*!< Registred and done */
00299    REG_STATE_REJECTED,  /*!< Registration rejected */
00300    REG_STATE_TIMEOUT,   /*!< Registration timed out */
00301    REG_STATE_NOAUTH, /*!< We have no accepted credentials */
00302    REG_STATE_FAILED, /*!< Registration failed after several tries */
00303 };

enum subscriptiontype
 

Enumerator:
NONE 
XPIDF_XML 
DIALOG_INFO_XML 
CPIM_PIDF_XML 
PIDF_XML 
MWI_NOTIFICATION 

Definition at line 237 of file sip3.h.

00237                       { 
00238    NONE = 0,
00239    XPIDF_XML,
00240    DIALOG_INFO_XML,
00241    CPIM_PIDF_XML,
00242    PIDF_XML,
00243    MWI_NOTIFICATION
00244 };

enum t38state
 

T38 States for a call.

Enumerator:
T38_DISABLED  Not enabled
T38_LOCAL_DIRECT  Offered from local
T38_LOCAL_REINVITE  Offered from local - REINVITE
T38_PEER_DIRECT  Offered from peer
T38_PEER_REINVITE  Offered from peer - REINVITE
T38_ENABLED  Negotiated (enabled)

Definition at line 313 of file sip3.h.

00313               {
00314         T38_DISABLED = 0,                /*!< Not enabled */
00315         T38_LOCAL_DIRECT,                /*!< Offered from local */
00316         T38_LOCAL_REINVITE,              /*!< Offered from local - REINVITE */
00317         T38_PEER_DIRECT,                 /*!< Offered from peer */
00318         T38_PEER_REINVITE,               /*!< Offered from peer - REINVITE */
00319         T38_ENABLED                      /*!< Negotiated (enabled) */
00320 };

enum transaction_state
 

Transaction state for non-invite transactions.

Enumerator:
TRANS_TRYING  Client: initiated transaction
TRANS_PROCEEDING  Client: Provisional response received
TRANS_COMPLETED  Final response received/sent
TRANS_TERMINATED  We're done, no more re-transmits

Definition at line 349 of file sip3.h.

00349                        {
00350    TRANS_TRYING,     /*!< Client: initiated transaction */
00351    TRANS_PROCEEDING, /*!< Client: Provisional response received */
00352    TRANS_COMPLETED,  /*!< Final response received/sent */
00353    TRANS_TERMINATED, /*!< We're done, no more re-transmits */
00354 };

enum transfermodes
 

Authorization scheme for call transfers.

Note:
Not a bitfield flag, since there are plans for other modes, like "only allow transfers for authenticated devices"
Enumerator:
TRANSFER_OPENFORALL  Allow all SIP transfers
TRANSFER_CLOSED  Allow no SIP transfers

Definition at line 193 of file sip3.h.

00193                    {
00194    TRANSFER_OPENFORALL,            /*!< Allow all SIP transfers */
00195    TRANSFER_CLOSED,                /*!< Allow no SIP transfers */
00196 };

enum xmittype
 

Enumerator:
XMIT_CRITICAL  Transmit critical SIP message reliably, with re-transmits. If it fails, it's critical and will cause a teardown of the session
XMIT_RELIABLE  Transmit SIP message reliably, with re-transmits
XMIT_UNRELIABLE  Transmit SIP message without bothering with re-transmits

Definition at line 223 of file sip3.h.

00223               {
00224    XMIT_CRITICAL = 2,              /*!< Transmit critical SIP message reliably, with re-transmits.
00225                                               If it fails, it's critical and will cause a teardown of the session */
00226    XMIT_RELIABLE = 1,              /*!< Transmit SIP message reliably, with re-transmits */
00227    XMIT_UNRELIABLE = 0,            /*!< Transmit SIP message without bothering with re-transmits */
00228 };


Function Documentation

AST_LIST_HEAD_NOLOCK sip_history_head  ,
sip_history 
 


Variable Documentation

struct sip_auth* authl
 

Definition at line 130 of file sip3_auth.c.

struct sip_device_list devicelist
 

The device list

Definition at line 94 of file sip3_objects.c.

Referenced by _sip_show_devices(), build_device(), complete_sip_device(), expire_register(), find_device(), load_module(), register_verify(), sip_poke_all_peers(), sip_prune_realtime(), sip_show_inuse(), and sip_show_objects().

struct sip_dialog* dialoglist
 

List of concurrent SIP dialogs

Definition at line 504 of file chan_sip3.c.

struct expiry_times expiry
 

various expiry times for registrations

Various expiration times

Definition at line 478 of file chan_sip3.c.

struct sip_globals global
 

Global settings only apply to the channel

Definition at line 488 of file chan_sip3.c.

struct io_context* io
 

The IO context

Definition at line 500 of file chan_sip3.c.

const char notify_config[]
 

Configuration file for notifications

Definition at line 86 of file sip3_config.c.

struct ast_config* notify_types
 

The list of manual NOTIFY types we know how to send

Definition at line 505 of file chan_sip3.c.

struct sip_register_list regl
 

The register list: Other SIP proxys we register with and place calls to.

Registration list

Definition at line 98 of file sip3_services.c.

struct sched_context* sched
 

The scheduling context

Definition at line 499 of file chan_sip3.c.

const struct cfsip_methods sip_methods[]
 

XXX Note that sip_methods[i].id == i must hold or the code breaks

Definition at line 86 of file sip3_parse.c.

struct channel_counters sipcounters
 

Various object counters

Definition at line 491 of file chan_sip3.c.

Referenced by build_device(), reset_global_settings(), sip_alloc(), sip_destroy_device(), sip_poke_all_peers(), sip_register(), sip_registry_destroy(), sip_send_all_registers(), sip_show_objects(), and temp_device().

struct sip_network sipnet
 

Sockets and networking

Definition at line 102 of file sip3_network.c.

Referenced by __sip_reliable_xmit(), __sip_xmit(), __transmit_response(), append_send_history(), build_contact(), build_via(), close_sip_sockets(), dialog_activate_media(), do_sip_monitor(), process_sip_queue(), reload_config(), reset_ip_interface(), retrans_pkt(), send_request(), send_response(), sip_alloc(), sip_debug_test_addr(), sip_do_debug(), sip_do_debug_device(), sip_do_debug_ip(), sip_ouraddrfor(), sip_poke_peer(), sip_send_mwi_to_peer(), sip_show_settings(), sipnet_lock(), sipnet_ourport(), sipnet_ourport_set(), sipnet_unlock(), siprequest_alloc(), sipsock_init(), sipsock_read(), sipsocket_initialized(), sipsocket_open(), transmit_info_with_digit(), transmit_info_with_vidupdate(), transmit_invite(), transmit_message_with_text(), transmit_notify_with_mwi(), transmit_notify_with_sipfrag(), transmit_refer(), transmit_register(), transmit_reinvite_with_sdp(), transmit_request(), transmit_request_with_auth(), transmit_response_using_temp(), transmit_response_with_attachment(), transmit_response_with_auth(), transmit_response_with_unsupported(), and transmit_state_notify().


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