#include "asterisk/channel.h"
Go to the source code of this file.
Data Structures | |
struct | _dundi_eid |
A DUNDi Entity ID is essentially a MAC address, brief and unique. More... | |
struct | dundi_answer |
struct | dundi_cause |
struct | dundi_encblock |
struct | dundi_entity_info |
struct | dundi_hdr |
struct | dundi_hint |
struct | dundi_ie_hdr |
struct | dundi_peer_status |
struct | dundi_result |
Defines | |
#define | DEFAULT_MAXMS 2000 |
#define | DUNDI_CAUSE_BADENCRYPT 7 |
#define | DUNDI_CAUSE_DUPLICATE 4 |
#define | DUNDI_CAUSE_DYNAMIC 2 |
#define | DUNDI_CAUSE_GENERAL 1 |
#define | DUNDI_CAUSE_NEEDKEY 6 |
#define | DUNDI_CAUSE_NOAUTH 3 |
#define | DUNDI_CAUSE_SUCCESS 0 |
#define | DUNDI_CAUSE_TTL_EXPIRED 5 |
#define | DUNDI_COMMAND_ACK (0 | 0x40) |
#define | DUNDI_COMMAND_CANCEL (12) |
#define | DUNDI_COMMAND_DPDISCOVER 1 |
#define | DUNDI_COMMAND_DPRESPONSE (2 | 0x40) |
#define | DUNDI_COMMAND_EIDQUERY 3 |
#define | DUNDI_COMMAND_EIDRESPONSE (4 | 0x40) |
#define | DUNDI_COMMAND_ENCREJ (14 | 0x40) |
#define | DUNDI_COMMAND_ENCRYPT (13) |
#define | DUNDI_COMMAND_FINAL (0x80) |
#define | DUNDI_COMMAND_INVALID (7 | 0x40) |
#define | DUNDI_COMMAND_NULL 9 |
#define | DUNDI_COMMAND_PRECACHERP (6 | 0x40) |
#define | DUNDI_COMMAND_PRECACHERQ 5 |
#define | DUNDI_COMMAND_REGREQ (10) |
#define | DUNDI_COMMAND_REGRESPONSE (11 | 0x40) |
#define | DUNDI_COMMAND_STATUS 15 |
#define | DUNDI_COMMAND_UNKNOWN (8 | 0x40) |
#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 |
#define | DUNDI_FLAG_CANMATCH (1 << 2) |
#define | DUNDI_FLAG_COMMERCIAL (1 << 5) |
#define | DUNDI_FLAG_EXISTS (1 << 0) |
#define | DUNDI_FLAG_IGNOREPAT (1 << 3) |
#define | DUNDI_FLAG_MATCHMORE (1 << 1) |
#define | DUNDI_FLAG_MOBILE (1 << 6) |
#define | DUNDI_FLAG_NOCOMUNSOLICIT (1 << 8) |
#define | DUNDI_FLAG_NONEXISTENT (0) |
#define | DUNDI_FLAG_NOUNSOLICITED (1 << 7) |
#define | DUNDI_FLAG_RESERVED (1 << 16) |
#define | DUNDI_FLAG_RESIDENTIAL (1 << 4) |
#define | DUNDI_FLAG_RETRANS (1 << 16) |
#define | DUNDI_FLUFF_TIME 2000 |
#define | DUNDI_HINT_DONT_ASK (1 << 1) |
#define | DUNDI_HINT_NONE (0) |
#define | DUNDI_HINT_TTL_EXPIRED (1 << 0) |
#define | DUNDI_HINT_UNAFFECTED (1 << 2) |
#define | DUNDI_IE_ANSWER 5 |
#define | DUNDI_IE_CACHEBYPASS 29 |
#define | DUNDI_IE_CALLED_CONTEXT 2 |
#define | DUNDI_IE_CALLED_NUMBER 3 |
#define | DUNDI_IE_CAUSE 14 |
#define | DUNDI_IE_COUNTRY 25 |
#define | DUNDI_IE_DEPARTMENT 21 |
#define | DUNDI_IE_EID 1 |
#define | DUNDI_IE_EID_DIRECT 4 |
#define | DUNDI_IE_EMAIL 26 |
#define | DUNDI_IE_ENCDATA 16 |
#define | DUNDI_IE_EXPIRATION 11 |
#define | DUNDI_IE_HINT 20 |
#define | DUNDI_IE_IPADDR 28 |
#define | DUNDI_IE_KEYCRC32 19 |
#define | DUNDI_IE_LOCALITY 23 |
#define | DUNDI_IE_ORGANIZATION 22 |
#define | DUNDI_IE_PEERSTATUS 30 |
#define | DUNDI_IE_PHONE 27 |
#define | DUNDI_IE_REQEID 15 |
#define | DUNDI_IE_SHAREDKEY 17 |
#define | DUNDI_IE_SIGNATURE 18 |
#define | DUNDI_IE_STATE_PROV 24 |
#define | DUNDI_IE_TTL 6 |
#define | DUNDI_IE_UNKNOWN 12 |
#define | DUNDI_IE_VERSION 10 |
#define | DUNDI_PEER_MOD_INBOUND (1 << 5) |
#define | DUNDI_PEER_MOD_OUTBOUND (1 << 4) |
#define | DUNDI_PEER_PCMOD_INBOUND (1 << 7) |
#define | DUNDI_PEER_PCMOD_OUTBOUND (1 << 6) |
#define | DUNDI_PEER_PRIMARY (1 << 0) |
#define | DUNDI_PEER_REGISTERED (1 << 3) |
#define | DUNDI_PEER_SECONDARY (1 << 1) |
#define | DUNDI_PEER_UNAVAILABLE (1 << 2) |
#define | DUNDI_PORT 4520 |
#define | DUNDI_PROTO_H323 3 |
#define | DUNDI_PROTO_IAX 1 |
#define | DUNDI_PROTO_NONE 0 |
#define | DUNDI_PROTO_SIP 2 |
#define | DUNDI_TTL_TIME 200 |
#define | DUNDI_WINDOW 1 |
Typedefs | |
typedef _dundi_eid | dundi_eid |
Functions | |
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 (or e164 if unspecified) using the given callerid (if specified) and return up to maxret results in the array specified. returns the number of results found or -1 on a hangup of teh channel. | |
int | dundi_precache (const char *dcontext, const char *number) |
Pre-cache to push upstream peers. | |
int | dundi_query_eid (struct dundi_entity_info *dei, const char *dcontext, dundi_eid eid) |
Retrieve information on a specific EID. | |
Variables | |
_dundi_eid | __packed__ |
A DUNDi Entity ID is essentially a MAC address, brief and unique. |
Definition in file dundi.h.
|
Definition at line 192 of file dundi.h. Referenced by iax2_poke_peer(), and sip_poke_peer(). |
|
Badly encrypted data |
|
Duplicate request Definition at line 100 of file dundi.h. Referenced by dundi_lookup_thread(). |
|
Requested entity is dynamic |
|
General unspecified failure Definition at line 97 of file dundi.h. Referenced by dundi_answer_entity(), dundi_answer_query(), dundi_prop_precache(), and handle_command_response(). |
|
Need new session key to decode |
|
No or improper authorization Definition at line 99 of file dundi.h. Referenced by handle_command_response(). |
|
Success |
|
Expired TTL |
|
Ack a message Definition at line 128 of file dundi.h. Referenced by dundi_ack(). |
|
Cancel transaction entirely Definition at line 140 of file dundi.h. Referenced by cancel_request(), and handle_command_response(). |
|
Request discovery Definition at line 129 of file dundi.h. Referenced by dundi_discover(), dundi_send(), find_transaction(), and handle_command_response(). |
|
Respond to a discovery request Definition at line 130 of file dundi.h. Referenced by dundi_answer_query(), dundi_lookup_thread(), dundi_send(), and handle_command_response(). |
|
Request information for a peer Definition at line 131 of file dundi.h. Referenced by dundi_query(), dundi_send(), find_transaction(), and handle_command_response(). |
|
Response to a peer query Definition at line 132 of file dundi.h. Referenced by dundi_answer_entity(), dundi_query_thread(), dundi_send(), and handle_command_response(). |
|
Reject an encrypted message Definition at line 142 of file dundi.h. Referenced by handle_command_response(). |
|
Send an encrypted message Definition at line 141 of file dundi.h. Referenced by find_transaction(), and handle_command_response(). |
|
Or'd with other flags |
|
Invalid dialog state (does not require ack) Definition at line 135 of file dundi.h. Referenced by handle_command_response(). |
|
No-op Definition at line 137 of file dundi.h. Referenced by find_transaction(), handle_command_response(), and qualify_peer(). |
|
Pre-cache Response Definition at line 134 of file dundi.h. Referenced by dundi_precache_thread(), dundi_prop_precache(), dundi_send(), and handle_command_response(). |
|
Pre-cache Request Definition at line 133 of file dundi.h. Referenced by dundi_send(), find_transaction(), handle_command_response(), and precache_trans(). |
|
Register Request Definition at line 138 of file dundi.h. Referenced by do_register(), dundi_send(), find_transaction(), and handle_command_response(). |
|
Register Response Definition at line 139 of file dundi.h. Referenced by dundi_send(), and handle_command_response(). |
|
Status command |
|
Unknown command Definition at line 136 of file dundi.h. Referenced by handle_command_response(). |
|
In seconds, cache of empty answer |
|
In seconds Definition at line 187 of file dundi.h. Referenced by set_config(). |
|
Life of shared key In seconds |
|
Definition at line 183 of file dundi.h. Referenced by dundi_send(). |
|
|
|
In seconds/hops like TTL Definition at line 185 of file dundi.h. Referenced by set_config(). |
|
Definition at line 186 of file dundi.h. Referenced by do_register(), dundi_discover(), dundi_query(), and precache_trans(). |
|
Might be a match Definition at line 65 of file dundi.h. Referenced by dundi_canmatch(), and dundi_lookup_local(). |
|
Destination known to be commercial |
|
Is a valid number Definition at line 63 of file dundi.h. Referenced by dundi_exec(), dundi_exists(), dundi_lookup_exec(), dundi_lookup_local(), and dundifunc_read(). |
|
Keep dialtone Definition at line 66 of file dundi.h. Referenced by dundi_lookup_local(). |
|
Might be valid if you add more digits Definition at line 64 of file dundi.h. Referenced by dundi_lookup_local(), and dundi_matchmore(). |
|
Destination known to be cellular/mobile |
|
No commercial unsolicited calls through this route |
|
Isn't and can't be a valid number |
|
No unsolicited calls of any kind through this route |
|
Applies to strans Definition at line 55 of file dundi.h. Referenced by dundi_showframe(). |
|
Destination known to be residential |
|
Applies to dtrans Definition at line 54 of file dundi.h. Referenced by dundi_showframe(). |
|
Amount of time for answer Definition at line 180 of file dundi.h. Referenced by dundi_lookup_internal(), dundi_precache_internal(), and dundi_query_eid_internal(). |
|
Don't ask for anything beginning with data Definition at line 75 of file dundi.h. Referenced by cache_lookup_internal(), cache_save_hint(), dundi_lookup(), dundi_lookup_local(), dundi_lookup_thread(), dundi_precache_thread(), dundi_prop_precache(), and handle_command_response(). |
|
|
|
TTL Expired Definition at line 74 of file dundi.h. Referenced by dundi_lookup_internal(), dundi_query_eid_internal(), and handle_command_response(). |
|
Answer not affected by entity list Definition at line 76 of file dundi.h. Referenced by build_transactions(), cache_save_hint(), and handle_command_response(). |
|
An answer (struct dundi_answer) Definition at line 155 of file dundi.h. Referenced by dundi_lookup_thread(), dundi_parse_ies(), and precache_trans(). |
|
Bypass cache (empty) Definition at line 176 of file dundi.h. Referenced by dundi_discover(), and dundi_parse_ies(). |
|
DUNDi Context (string) Definition at line 152 of file dundi.h. Referenced by dundi_discover(), dundi_parse_ies(), dundi_query(), and precache_trans(). |
|
Number of equivalent (string) Definition at line 153 of file dundi.h. Referenced by dundi_discover(), dundi_parse_ies(), and precache_trans(). |
|
Success or cause of failure Definition at line 160 of file dundi.h. Referenced by dundi_answer_entity(), dundi_answer_query(), dundi_lookup_thread(), dundi_parse_ies(), dundi_prop_precache(), and handle_command_response(). |
|
Country, for EIDQUERY (string) Definition at line 172 of file dundi.h. Referenced by dundi_parse_ies(), and dundi_query_thread(). |
|
Department, for EIDQUERY (string) Definition at line 168 of file dundi.h. Referenced by dundi_parse_ies(), and dundi_query_thread(). |
|
Entity identifier (dundi_eid) Definition at line 151 of file dundi.h. Referenced by do_register(), dundi_encrypt(), dundi_ie_append_eid_appropriately(), dundi_parse_ies(), dundi_query(), handle_command_response(), and precache_trans(). |
|
Entity identifier (dundi_eid), direct connect Definition at line 154 of file dundi.h. Referenced by dundi_discover(), dundi_ie_append_eid_appropriately(), and dundi_parse_ies(). |
|
E-mail addy, for EIDQUERY (string) Definition at line 173 of file dundi.h. Referenced by dundi_parse_ies(), and dundi_query_thread(). |
|
AES-128 encrypted data Definition at line 162 of file dundi.h. Referenced by dundi_encrypt(), dundi_parse_ies(), and handle_command_response(). |
|
Recommended expiration (short) Definition at line 158 of file dundi.h. Referenced by do_register(), dundi_lookup_thread(), dundi_parse_ies(), handle_command_response(), and precache_trans(). |
|
Answer hints (struct ast_hint) Definition at line 166 of file dundi.h. Referenced by dundi_lookup_thread(), dundi_parse_ies(), dundi_query_thread(), and precache_trans(). |
|
IP Address, for EIDQUERY (string) Definition at line 175 of file dundi.h. Referenced by dundi_parse_ies(), and dundi_query_thread(). |
|
CRC32 of encrypted key (int) Definition at line 165 of file dundi.h. Referenced by dundi_encrypt(), and dundi_parse_ies(). |
|
City/Locality, for EIDQUERY (string) Definition at line 170 of file dundi.h. Referenced by dundi_parse_ies(), and dundi_query_thread(). |
|
Organization, for EIDQUERY (string) Definition at line 169 of file dundi.h. Referenced by dundi_parse_ies(), and dundi_query_thread(). |
|
Peer/peer status (struct dundi_peer_status) |
|
Contact Phone, for EIDQUERY (string) Definition at line 174 of file dundi.h. Referenced by dundi_parse_ies(), and dundi_query_thread(). |
|
EID being requested for EIDQUERY Definition at line 161 of file dundi.h. Referenced by dundi_parse_ies(), and dundi_query(). |
|
RSA encrypted AES-128 key Definition at line 163 of file dundi.h. Referenced by dundi_encrypt(), dundi_parse_ies(), and handle_command_response(). |
|
RSA Signature of encrypted shared key Definition at line 164 of file dundi.h. Referenced by dundi_encrypt(), dundi_parse_ies(), and handle_command_response(). |
|
State/Province, for EIDQUERY (string) Definition at line 171 of file dundi.h. Referenced by dundi_parse_ies(), and dundi_query_thread(). |
|
Max TTL for this request / Remaining TTL for the response (short) Definition at line 156 of file dundi.h. Referenced by dundi_discover(), dundi_parse_ies(), dundi_query(), and precache_trans(). |
|
Unknown command (byte) Definition at line 159 of file dundi.h. Referenced by dundi_parse_ies(), and handle_command_response(). |
|
DUNDi version (should be 1) (short) Definition at line 157 of file dundi.h. Referenced by do_register(), dundi_discover(), dundi_parse_ies(), dundi_query(), and precache_trans(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 29 of file dundi.h. Referenced by build_peer(), and load_module(). |
|
ITU H.323 Definition at line 60 of file dundi.h. Referenced by proto2str(), and tech2str(). |
|
IAX version 2 Definition at line 58 of file dundi.h. Referenced by proto2str(), and tech2str(). |
|
No answer yet Definition at line 57 of file dundi.h. Referenced by proto2str(), and tech2str(). |
|
Session Initiation Protocol Definition at line 59 of file dundi.h. Referenced by proto2str(), and tech2str(). |
|
Incremental average time |
|
Max 1 message in window |
|
|
Lookup the given number in the given dundi context (or e164 if unspecified) using the given callerid (if specified) and return up to maxret results in the array specified. returns the number of results found or -1 on a hangup of teh channel.
Definition at line 3635 of file pbx_dundi.c. References dundi_eid, DUNDI_HINT_DONT_ASK, dundi_lookup_internal(), dundi_ttl, dundi_hint_metadata::flags, and result. Referenced by dundi_do_lookup(), dundi_exec(), dundi_helper(), dundi_lookup_exec(), and dundifunc_read(). 03636 { 03637 struct dundi_hint_metadata hmd; 03638 dundi_eid *avoid[1] = { NULL, }; 03639 int direct[1] = { 0, }; 03640 int expiration = dundi_cache_time; 03641 memset(&hmd, 0, sizeof(hmd)); 03642 hmd.flags = DUNDI_HINT_DONT_ASK | DUNDI_HINT_UNAFFECTED; 03643 return dundi_lookup_internal(result, maxret, chan, dcontext, number, dundi_ttl, 0, &hmd, &expiration, cbypass, 0, NULL, avoid, direct); 03644 }
|
|
Pre-cache to push upstream peers.
Definition at line 3793 of file pbx_dundi.c. References dundi_eid, dundi_precache_internal(), and dundi_ttl. Referenced by dundi_do_precache(), and process_precache(). 03794 { 03795 dundi_eid *avoid[1] = { NULL, }; 03796 return dundi_precache_internal(context, number, dundi_ttl, avoid); 03797 }
|
|
Retrieve information on a specific EID.
Definition at line 3846 of file pbx_dundi.c. References dundi_eid, dundi_query_eid_internal(), and dundi_ttl. Referenced by dundi_do_query(). 03847 { 03848 dundi_eid *avoid[1] = { NULL, }; 03849 struct dundi_hint_metadata hmd; 03850 memset(&hmd, 0, sizeof(hmd)); 03851 return dundi_query_eid_internal(dei, dcontext, &eid, &hmd, dundi_ttl, 0, avoid); 03852 }
|
|
A DUNDi Entity ID is essentially a MAC address, brief and unique.
|