#include "asterisk/channel.h"
#include "asterisk/utils.h"
Go to the source code of this file.
Definition in file dundi.h.
#define DEFAULT_MAXMS 2000 |
Definition at line 223 of file dundi.h.
Referenced by build_peer(), iax2_poke_peer(), and set_config().
#define DUNDI_COMMAND_ACK (0 | 0x40) |
Ack a message
Definition at line 159 of file dundi.h.
Referenced by dundi_ack(), dundi_send(), and handle_frame().
#define DUNDI_COMMAND_CANCEL (12) |
Cancel transaction entirely
Definition at line 171 of file dundi.h.
Referenced by cancel_request(), and handle_command_response().
#define DUNDI_COMMAND_DPDISCOVER 1 |
Request discovery
Definition at line 160 of file dundi.h.
Referenced by dundi_discover(), dundi_send(), find_transaction(), and handle_command_response().
#define DUNDI_COMMAND_DPRESPONSE (2 | 0x40) |
Respond to a discovery request
Definition at line 161 of file dundi.h.
Referenced by dundi_answer_query(), dundi_lookup_thread(), dundi_send(), and handle_command_response().
#define DUNDI_COMMAND_EIDQUERY 3 |
Request information for a peer
Definition at line 162 of file dundi.h.
Referenced by dundi_query(), dundi_send(), find_transaction(), and handle_command_response().
#define DUNDI_COMMAND_EIDRESPONSE (4 | 0x40) |
Response to a peer query
Definition at line 163 of file dundi.h.
Referenced by dundi_answer_entity(), dundi_query_thread(), dundi_send(), and handle_command_response().
#define DUNDI_COMMAND_ENCREJ (14 | 0x40) |
#define DUNDI_COMMAND_ENCRYPT (13) |
Send an encrypted message
Definition at line 172 of file dundi.h.
Referenced by dundi_encrypt(), and find_transaction().
#define DUNDI_COMMAND_FINAL (0x80) |
#define DUNDI_COMMAND_INVALID (7 | 0x40) |
Invalid dialog state (does not require ack)
Definition at line 166 of file dundi.h.
Referenced by dundi_reject().
#define DUNDI_COMMAND_NULL 9 |
#define DUNDI_COMMAND_PRECACHERP (6 | 0x40) |
Pre-cache Response
Definition at line 165 of file dundi.h.
Referenced by dundi_precache_thread(), dundi_send(), and handle_command_response().
#define DUNDI_COMMAND_PRECACHERQ 5 |
Pre-cache Request
Definition at line 164 of file dundi.h.
Referenced by dundi_send(), find_transaction(), handle_command_response(), and precache_trans().
#define DUNDI_COMMAND_REGREQ (10) |
Register Request
Definition at line 169 of file dundi.h.
Referenced by do_register(), dundi_send(), find_transaction(), and handle_command_response().
#define DUNDI_COMMAND_REGRESPONSE (11 | 0x40) |
Register Response
Definition at line 170 of file dundi.h.
Referenced by dundi_send(), and handle_command_response().
#define DUNDI_DEF_EMPTY_CACHE_TIME 60 |
#define DUNDI_DEFAULT_CACHE_TIME 3600 |
#define DUNDI_DEFAULT_KEY_EXPIRE 3600 |
#define DUNDI_DEFAULT_RETRANS 5 |
#define DUNDI_DEFAULT_RETRANS_TIMER 1000 |
#define DUNDI_DEFAULT_TTL 120 |
#define DUNDI_DEFAULT_VERSION 1 |
Definition at line 217 of file dundi.h.
Referenced by do_register(), dundi_discover(), dundi_query(), and precache_trans().
#define DUNDI_FLAG_RESERVED (1 << 16) |
#define DUNDI_FLAG_RETRANS (1 << 16) |
#define DUNDI_FLUFF_TIME 2000 |
Amount of time for answer
Definition at line 211 of file dundi.h.
Referenced by dundi_lookup_internal(), dundi_precache_internal(), and dundi_query_eid_internal().
#define DUNDI_IE_ANSWER 5 |
An answer (struct dundi_answer)
Definition at line 186 of file dundi.h.
Referenced by dundi_lookup_thread(), dundi_parse_ies(), and precache_trans().
#define DUNDI_IE_CACHEBYPASS 29 |
Bypass cache (empty)
Definition at line 207 of file dundi.h.
Referenced by dundi_discover(), and dundi_parse_ies().
#define DUNDI_IE_CALLED_CONTEXT 2 |
DUNDi Context (string)
Definition at line 183 of file dundi.h.
Referenced by dundi_discover(), dundi_parse_ies(), dundi_query(), and precache_trans().
#define DUNDI_IE_CALLED_NUMBER 3 |
Number of equivalent (string)
Definition at line 184 of file dundi.h.
Referenced by dundi_discover(), dundi_parse_ies(), and precache_trans().
#define DUNDI_IE_CAUSE 14 |
Success or cause of failure
Definition at line 191 of file dundi.h.
Referenced by dundi_answer_entity(), dundi_answer_query(), dundi_lookup_thread(), dundi_parse_ies(), and handle_command_response().
#define DUNDI_IE_COUNTRY 25 |
Country, for EIDQUERY (string)
Definition at line 203 of file dundi.h.
Referenced by dundi_parse_ies(), and dundi_query_thread().
#define DUNDI_IE_DEPARTMENT 21 |
Department, for EIDQUERY (string)
Definition at line 199 of file dundi.h.
Referenced by dundi_parse_ies(), and dundi_query_thread().
#define DUNDI_IE_EID 1 |
Entity identifier (dundi_eid)
Definition at line 182 of file dundi.h.
Referenced by do_register(), dundi_encrypt(), dundi_ie_append_eid_appropriately(), dundi_parse_ies(), dundi_query(), and precache_trans().
#define DUNDI_IE_EID_DIRECT 4 |
Entity identifier (dundi_eid), direct connect
Definition at line 185 of file dundi.h.
Referenced by dundi_discover(), dundi_ie_append_eid_appropriately(), and dundi_parse_ies().
#define DUNDI_IE_EMAIL 26 |
E-mail addy, for EIDQUERY (string)
Definition at line 204 of file dundi.h.
Referenced by dundi_parse_ies(), and dundi_query_thread().
#define DUNDI_IE_ENCDATA 16 |
AES-128 encrypted data
Definition at line 193 of file dundi.h.
Referenced by dump_ies(), dundi_encrypt(), and dundi_parse_ies().
#define DUNDI_IE_EXPIRATION 11 |
Recommended expiration (short)
Definition at line 189 of file dundi.h.
Referenced by do_register(), dundi_lookup_thread(), dundi_parse_ies(), handle_command_response(), and precache_trans().
#define DUNDI_IE_HINT 20 |
Answer hints
Definition at line 197 of file dundi.h.
Referenced by dundi_lookup_thread(), dundi_parse_ies(), dundi_query_thread(), and precache_trans().
#define DUNDI_IE_IPADDR 28 |
IP Address, for EIDQUERY (string)
Definition at line 206 of file dundi.h.
Referenced by dundi_parse_ies(), and dundi_query_thread().
#define DUNDI_IE_KEYCRC32 19 |
CRC32 of encrypted key (int)
Definition at line 196 of file dundi.h.
Referenced by dundi_encrypt(), and dundi_parse_ies().
#define DUNDI_IE_LOCALITY 23 |
City/Locality, for EIDQUERY (string)
Definition at line 201 of file dundi.h.
Referenced by dundi_parse_ies(), and dundi_query_thread().
#define DUNDI_IE_ORGANIZATION 22 |
Organization, for EIDQUERY (string)
Definition at line 200 of file dundi.h.
Referenced by dundi_parse_ies(), and dundi_query_thread().
#define DUNDI_IE_PEERSTATUS 30 |
Peer/peer status (struct dundi_peer_status)
#define DUNDI_IE_PHONE 27 |
Contact Phone, for EIDQUERY (string)
Definition at line 205 of file dundi.h.
Referenced by dundi_parse_ies(), and dundi_query_thread().
#define DUNDI_IE_REQEID 15 |
EID being requested for EIDQUERY
Definition at line 192 of file dundi.h.
Referenced by dundi_parse_ies(), and dundi_query().
#define DUNDI_IE_SHAREDKEY 17 |
RSA encrypted AES-128 key
Definition at line 194 of file dundi.h.
Referenced by dundi_encrypt(), and dundi_parse_ies().
#define DUNDI_IE_SIGNATURE 18 |
RSA Signature of encrypted shared key
Definition at line 195 of file dundi.h.
Referenced by dundi_encrypt(), and dundi_parse_ies().
#define DUNDI_IE_STATE_PROV 24 |
State/Province, for EIDQUERY (string)
Definition at line 202 of file dundi.h.
Referenced by dundi_parse_ies(), and dundi_query_thread().
#define DUNDI_IE_TTL 6 |
Max TTL for this request / Remaining TTL for the response (short)
Definition at line 187 of file dundi.h.
Referenced by dundi_discover(), dundi_parse_ies(), dundi_query(), and precache_trans().
#define DUNDI_IE_UNKNOWN 12 |
#define DUNDI_IE_VERSION 10 |
DUNDi version (should be 1) (short)
Definition at line 188 of file dundi.h.
Referenced by do_register(), dundi_discover(), dundi_parse_ies(), dundi_query(), and precache_trans().
#define DUNDI_PORT 4520 |
#define DUNDI_TTL_TIME 200 |
Incremental average time
Definition at line 212 of file dundi.h.
Referenced by dundi_lookup_internal(), dundi_precache_internal(), and dundi_query_eid_internal().
anonymous enum |
DUNDI_PROTO_NONE | No answer yet |
DUNDI_PROTO_IAX | IAX, version 2 |
DUNDI_PROTO_SIP | SIP - Session Initiation Protocol, RFC 3261 |
DUNDI_PROTO_H323 | ITU H.323 |
Definition at line 53 of file dundi.h.
00053 { 00054 /*! No answer yet */ 00055 DUNDI_PROTO_NONE = 0, 00056 /*! IAX, version 2 */ 00057 DUNDI_PROTO_IAX = 1, 00058 /*! SIP - Session Initiation Protocol, RFC 3261 */ 00059 DUNDI_PROTO_SIP = 2, 00060 /*! ITU H.323 */ 00061 DUNDI_PROTO_H323 = 3, 00062 };
anonymous enum |
Definition at line 64 of file dundi.h.
00064 { 00065 /*! Isn't and can't be a valid number */ 00066 DUNDI_FLAG_NONEXISTENT = (0), 00067 /*! Is a valid number */ 00068 DUNDI_FLAG_EXISTS = (1 << 0), 00069 /*! Might be valid if you add more digits */ 00070 DUNDI_FLAG_MATCHMORE = (1 << 1), 00071 /*! Might be a match */ 00072 DUNDI_FLAG_CANMATCH = (1 << 2), 00073 /*! Keep dialtone */ 00074 DUNDI_FLAG_IGNOREPAT = (1 << 3), 00075 /*! Destination known to be residential */ 00076 DUNDI_FLAG_RESIDENTIAL = (1 << 4), 00077 /*! Destination known to be commercial */ 00078 DUNDI_FLAG_COMMERCIAL = (1 << 5), 00079 /*! Destination known to be cellular/mobile */ 00080 DUNDI_FLAG_MOBILE = (1 << 6), 00081 /*! No unsolicited calls of any kind through this route */ 00082 DUNDI_FLAG_NOUNSOLICITED = (1 << 7), 00083 /*! No commercial unsolicited calls through this route */ 00084 DUNDI_FLAG_NOCOMUNSOLICIT = (1 << 8), 00085 };
anonymous enum |
DUNDI_HINT_NONE | |
DUNDI_HINT_TTL_EXPIRED | TTL Expired |
DUNDI_HINT_DONT_ASK | Don't ask for anything beginning with data |
DUNDI_HINT_UNAFFECTED | Answer not affected by entity list |
Definition at line 87 of file dundi.h.
00087 { 00088 DUNDI_HINT_NONE = (0), 00089 /*! TTL Expired */ 00090 DUNDI_HINT_TTL_EXPIRED = (1 << 0), 00091 /*! Don't ask for anything beginning with data */ 00092 DUNDI_HINT_DONT_ASK = (1 << 1), 00093 /*! Answer not affected by entity list */ 00094 DUNDI_HINT_UNAFFECTED = (1 << 2), 00095 };
anonymous enum |
Definition at line 115 of file dundi.h.
00115 { 00116 /*! Success */ 00117 DUNDI_CAUSE_SUCCESS = 0, 00118 /*! General unspecified failure */ 00119 DUNDI_CAUSE_GENERAL = 1, 00120 /*! Requested entity is dynamic */ 00121 DUNDI_CAUSE_DYNAMIC = 2, 00122 /*! No or improper authorization */ 00123 DUNDI_CAUSE_NOAUTH = 3, 00124 /*! Duplicate request */ 00125 DUNDI_CAUSE_DUPLICATE = 4, 00126 /*! Expired TTL */ 00127 DUNDI_CAUSE_TTL_EXPIRED = 5, 00128 /*! Need new session key to decode */ 00129 DUNDI_CAUSE_NEEDKEY = 6, 00130 /*! Badly encrypted data */ 00131 DUNDI_CAUSE_BADENCRYPT = 7, 00132 };
anonymous enum |
DUNDI_PEER_PRIMARY | |
DUNDI_PEER_SECONDARY | |
DUNDI_PEER_UNAVAILABLE | |
DUNDI_PEER_REGISTERED | |
DUNDI_PEER_MOD_OUTBOUND | |
DUNDI_PEER_MOD_INBOUND | |
DUNDI_PEER_PCMOD_OUTBOUND | |
DUNDI_PEER_PCMOD_INBOUND |
Definition at line 146 of file dundi.h.
00146 { 00147 DUNDI_PEER_PRIMARY = (1 << 0), 00148 DUNDI_PEER_SECONDARY = (1 << 1), 00149 DUNDI_PEER_UNAVAILABLE = (1 << 2), 00150 DUNDI_PEER_REGISTERED = (1 << 3), 00151 DUNDI_PEER_MOD_OUTBOUND = (1 << 4), 00152 DUNDI_PEER_MOD_INBOUND = (1 << 5), 00153 DUNDI_PEER_PCMOD_OUTBOUND = (1 << 6), 00154 DUNDI_PEER_PCMOD_INBOUND = (1 << 7), 00155 };
int dundi_lookup | ( | struct dundi_result * | result, | |
int | maxret, | |||
struct ast_channel * | chan, | |||
const char * | dcontext, | |||
const char * | number, | |||
int | nocache | |||
) |
Lookup the given number in the given dundi context. Lookup number in a given dundi context (if unspecified use e164), the given callerid (if specified) and return up to maxret results in the array specified.
the | number of results found. | |
-1 | on a hangup of the channel. |
Definition at line 3652 of file pbx_dundi.c.
References chan, DUNDI_HINT_DONT_ASK, DUNDI_HINT_UNAFFECTED, and dundi_lookup_internal().
Referenced by dundi_do_lookup(), dundi_exec(), dundi_helper(), dundi_query_read(), and dundifunc_read().
03653 { 03654 struct dundi_hint_metadata hmd; 03655 dundi_eid *avoid[1] = { NULL, }; 03656 int direct[1] = { 0, }; 03657 int expiration = dundi_cache_time; 03658 memset(&hmd, 0, sizeof(hmd)); 03659 hmd.flags = DUNDI_HINT_DONT_ASK | DUNDI_HINT_UNAFFECTED; 03660 return dundi_lookup_internal(result, maxret, chan, dcontext, number, dundi_ttl, 0, &hmd, &expiration, cbypass, 0, NULL, avoid, direct); 03661 }
int dundi_precache | ( | const char * | dcontext, | |
const char * | number | |||
) |
Pre-cache to push upstream peers.
Definition at line 3796 of file pbx_dundi.c.
References dundi_precache_internal().
Referenced by dundi_do_precache(), and process_precache().
03797 { 03798 dundi_eid *avoid[1] = { NULL, }; 03799 return dundi_precache_internal(context, number, dundi_ttl, avoid); 03800 }
int dundi_query_eid | ( | struct dundi_entity_info * | dei, | |
const char * | dcontext, | |||
dundi_eid | eid | |||
) |
Retrieve information on a specific EID.
Definition at line 3849 of file pbx_dundi.c.
References dundi_query_eid_internal().
Referenced by dundi_do_query().
03850 { 03851 dundi_eid *avoid[1] = { NULL, }; 03852 struct dundi_hint_metadata hmd; 03853 memset(&hmd, 0, sizeof(hmd)); 03854 return dundi_query_eid_internal(dei, dcontext, &eid, &hmd, dundi_ttl, 0, avoid); 03855 }