Asterisk.org: Developer Documentation (28 Oct 2009)

Wed Oct 28 15:48:49 2009

## Asterisk developer's documentation

# dundi.h File Reference

Distributed Universal Number Discovery (DUNDi) See also DUNDi. More...

`#include "asterisk/channel.h"`

Include dependency graph for dundi.h:

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

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 struct _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

struct _dundi_eid | __packed__
| A DUNDi Entity ID is essentially a MAC address, brief and unique.

## Detailed Description

Distributed Universal Number Discovery (DUNDi) See also DUNDi.

Definition in file dundi.h.

## Define Documentation

#define DEFAULT_MAXMS 2000

Definition at line 192 of file dundi.h.

Referenced by build_peer(), iax2_poke_peer(), reload_config(), set_config(), and sip_poke_peer().

#define DUNDI_CAUSE_BADENCRYPT 7

Badly encrypted data

Definition at line 103 of file dundi.h.

#define DUNDI_CAUSE_DUPLICATE 4

Duplicate request

Definition at line 100 of file dundi.h.

Referenced by dundi_lookup_thread().

#define DUNDI_CAUSE_DYNAMIC 2

Requested entity is dynamic

Definition at line 98 of file dundi.h.

#define DUNDI_CAUSE_GENERAL 1

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().

#define DUNDI_CAUSE_NEEDKEY 6

Need new session key to decode

Definition at line 102 of file dundi.h.

#define DUNDI_CAUSE_NOAUTH 3

No or improper authorization

Definition at line 99 of file dundi.h.

Referenced by handle_command_response().

#define DUNDI_CAUSE_SUCCESS 0

Success

Definition at line 96 of file dundi.h.

#define DUNDI_CAUSE_TTL_EXPIRED 5

Expired TTL

Definition at line 101 of file dundi.h.

#define DUNDI_COMMAND_ACK (0 | 0x40)

Ack a message

Definition at line 128 of file dundi.h.

Referenced by dundi_ack(), dundi_send(), and handle_frame().

#define DUNDI_COMMAND_CANCEL (12)

Cancel transaction entirely

Definition at line 140 of file dundi.h.

Referenced by cancel_request(), and handle_command_response().

#define DUNDI_COMMAND_DPDISCOVER 1

Request discovery

Definition at line 129 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 130 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 131 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 132 of file dundi.h.

Referenced by dundi_answer_entity(), dundi_query_thread(), dundi_send(), and handle_command_response().

#define DUNDI_COMMAND_ENCREJ (14 | 0x40)

Reject an encrypted message

Definition at line 142 of file dundi.h.

Referenced by handle_command_response().

#define DUNDI_COMMAND_ENCRYPT (13)

Send an encrypted message

Definition at line 141 of file dundi.h.

Referenced by dundi_encrypt(), find_transaction(), and handle_command_response().

#define DUNDI_COMMAND_FINAL (0x80)

Or'd with other flags

Definition at line 126 of file dundi.h.

Referenced by dundi_send().

#define DUNDI_COMMAND_INVALID (7 | 0x40)

Invalid dialog state (does not require ack)

Definition at line 135 of file dundi.h.

Referenced by dundi_reject(), and handle_command_response().

#define DUNDI_COMMAND_NULL 9

No-op

Definition at line 137 of file dundi.h.

Referenced by find_transaction(), handle_command_response(), and qualify_peer().

#define DUNDI_COMMAND_PRECACHERP (6 | 0x40)

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().

#define DUNDI_COMMAND_PRECACHERQ 5

Pre-cache Request

Definition at line 133 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 138 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 139 of file dundi.h.

Referenced by dundi_send(), and handle_command_response().

#define DUNDI_COMMAND_STATUS 15

Status command

Definition at line 144 of file dundi.h.

#define DUNDI_COMMAND_UNKNOWN (8 | 0x40)

Unknown command

Definition at line 136 of file dundi.h.

Referenced by handle_command_response().

#define DUNDI_DEF_EMPTY_CACHE_TIME 60

In seconds, cache of empty answer

Definition at line 189 of file dundi.h.

#define DUNDI_DEFAULT_CACHE_TIME 3600

In seconds

Definition at line 187 of file dundi.h.

Referenced by set_config().

#define DUNDI_DEFAULT_KEY_EXPIRE 3600

Life of shared key In seconds

Definition at line 188 of file dundi.h.

#define DUNDI_DEFAULT_RETRANS 5

Definition at line 183 of file dundi.h.

Referenced by dundi_send().

#define DUNDI_DEFAULT_RETRANS_TIMER 1000

Definition at line 184 of file dundi.h.

Referenced by apply_peer(), and create_transaction().

#define DUNDI_DEFAULT_TTL 120

In seconds/hops like TTL

Definition at line 185 of file dundi.h.

Referenced by set_config().

#define DUNDI_DEFAULT_VERSION 1

Definition at line 186 of file dundi.h.

Referenced by do_register(), dundi_discover(), dundi_query(), and precache_trans().

#define DUNDI_FLAG_CANMATCH (1 << 2)

Might be a match

Definition at line 65 of file dundi.h.

Referenced by dundi_canmatch(), dundi_flags2str(), and dundi_lookup_local().

#define DUNDI_FLAG_COMMERCIAL (1 << 5)

Destination known to be commercial

Definition at line 68 of file dundi.h.

Referenced by build_mapping(), and dundi_flags2str().

#define DUNDI_FLAG_EXISTS (1 << 0)

Is a valid number

Definition at line 63 of file dundi.h.

Referenced by dundi_exec(), dundi_exists(), dundi_flags2str(), dundi_lookup_exec(), dundi_lookup_local(), and dundifunc_read().

#define DUNDI_FLAG_IGNOREPAT (1 << 3)

Keep dialtone

Definition at line 66 of file dundi.h.

Referenced by dundi_flags2str(), and dundi_lookup_local().

#define DUNDI_FLAG_MATCHMORE (1 << 1)

Might be valid if you add more digits

Definition at line 64 of file dundi.h.

Referenced by dundi_flags2str(), dundi_lookup_local(), and dundi_matchmore().

#define DUNDI_FLAG_MOBILE (1 << 6)

Destination known to be cellular/mobile

Definition at line 69 of file dundi.h.

Referenced by build_mapping(), and dundi_flags2str().

#define DUNDI_FLAG_NOCOMUNSOLICIT (1 << 8)

No commercial unsolicited calls through this route

Definition at line 71 of file dundi.h.

Referenced by build_mapping(), and dundi_flags2str().

#define DUNDI_FLAG_NONEXISTENT (0)

Isn't and can't be a valid number

Definition at line 62 of file dundi.h.

#define DUNDI_FLAG_NOUNSOLICITED (1 << 7)

No unsolicited calls of any kind through this route

Definition at line 70 of file dundi.h.

Referenced by build_mapping(), and dundi_flags2str().

#define DUNDI_FLAG_RESERVED (1 << 16)

Applies to strans

Definition at line 55 of file dundi.h.

Referenced by dundi_showframe().

#define DUNDI_FLAG_RESIDENTIAL (1 << 4)

Destination known to be residential

Definition at line 67 of file dundi.h.

Referenced by build_mapping(), and dundi_flags2str().

#define DUNDI_FLAG_RETRANS (1 << 16)

Applies to dtrans

Definition at line 54 of file dundi.h.

Referenced by dundi_showframe().

#define DUNDI_FLUFF_TIME 2000

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().

#define DUNDI_HINT_DONT_ASK (1 << 1)

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_hint2str(), dundi_lookup(), dundi_lookup_local(), dundi_lookup_thread(), dundi_precache_thread(), dundi_prop_precache(), and handle_command_response().

#define DUNDI_HINT_NONE (0)

Definition at line 73 of file dundi.h.

#define DUNDI_HINT_TTL_EXPIRED (1 << 0)

TTL Expired

Definition at line 74 of file dundi.h.

Referenced by dundi_hint2str(), dundi_lookup_internal(), dundi_query_eid_internal(), and handle_command_response().

#define DUNDI_HINT_UNAFFECTED (1 << 2)

Answer not affected by entity list

Definition at line 76 of file dundi.h.

Referenced by build_transactions(), cache_save_hint(), dundi_hint2str(), dundi_lookup(), dundi_lookup_thread(), dundi_prop_precache(), and handle_command_response().

#define DUNDI_IE_ANSWER 5

An answer (struct dundi_answer)

Definition at line 155 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 176 of file dundi.h.

Referenced by dundi_discover(), and dundi_parse_ies().

#define DUNDI_IE_CALLED_CONTEXT 2

DUNDi Context (string)

Definition at line 152 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 153 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 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().

#define DUNDI_IE_COUNTRY 25

Country, for EIDQUERY (string)

Definition at line 172 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 168 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 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().

#define DUNDI_IE_EID_DIRECT 4

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().

#define DUNDI_IE_EMAIL 26

E-mail addy, for EIDQUERY (string)

Definition at line 173 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 162 of file dundi.h.

Referenced by dump_ies(), dundi_encrypt(), dundi_parse_ies(), and handle_command_response().

#define DUNDI_IE_EXPIRATION 11

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().

#define DUNDI_IE_HINT 20

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().

#define DUNDI_IE_IPADDR 28

IP Address, for EIDQUERY (string)

Definition at line 175 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 165 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 170 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 169 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)

Definition at line 178 of file dundi.h.

#define DUNDI_IE_PHONE 27

Contact Phone, for EIDQUERY (string)

Definition at line 174 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 161 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 163 of file dundi.h.

Referenced by dundi_encrypt(), dundi_parse_ies(), and handle_command_response().

#define DUNDI_IE_SIGNATURE 18

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().

#define DUNDI_IE_STATE_PROV 24

State/Province, for EIDQUERY (string)

Definition at line 171 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 156 of file dundi.h.

Referenced by dundi_discover(), dundi_parse_ies(), dundi_query(), and precache_trans().

#define DUNDI_IE_UNKNOWN 12

Unknown command (byte)

Definition at line 159 of file dundi.h.

Referenced by dundi_parse_ies(), and handle_command_response().

#define DUNDI_IE_VERSION 10

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().

#define DUNDI_PEER_MOD_INBOUND (1 << 5)

Definition at line 122 of file dundi.h.

#define DUNDI_PEER_MOD_OUTBOUND (1 << 4)

Definition at line 121 of file dundi.h.

#define DUNDI_PEER_PCMOD_INBOUND (1 << 7)

Definition at line 124 of file dundi.h.

#define DUNDI_PEER_PCMOD_OUTBOUND (1 << 6)

Definition at line 123 of file dundi.h.

#define DUNDI_PEER_PRIMARY (1 << 0)

Definition at line 117 of file dundi.h.

#define DUNDI_PEER_REGISTERED (1 << 3)

Definition at line 120 of file dundi.h.

#define DUNDI_PEER_SECONDARY (1 << 1)

Definition at line 118 of file dundi.h.

#define DUNDI_PEER_UNAVAILABLE (1 << 2)

Definition at line 119 of file dundi.h.

#define DUNDI_PORT 4520

Definition at line 29 of file dundi.h.

Referenced by build_peer(), and load_module().

#define DUNDI_PROTO_H323 3

ITU H.323

Definition at line 60 of file dundi.h.

Referenced by proto2str(), str2tech(), and tech2str().

#define DUNDI_PROTO_IAX 1

IAX version 2

Definition at line 58 of file dundi.h.

Referenced by proto2str(), str2tech(), and tech2str().

#define DUNDI_PROTO_NONE 0

No answer yet

Definition at line 57 of file dundi.h.

Referenced by proto2str(), and tech2str().

#define DUNDI_PROTO_SIP 2

Session Initiation Protocol

Definition at line 59 of file dundi.h.

Referenced by proto2str(), str2tech(), and tech2str().

#define DUNDI_TTL_TIME 200

Incremental average time

Definition at line 181 of file dundi.h.

Referenced by dundi_lookup_internal(), dundi_precache_internal(), and dundi_query_eid_internal().

#define DUNDI_WINDOW 1

Max 1 message in window

Definition at line 190 of file dundi.h.

## Typedef Documentation

typedef struct _dundi_eid dundi_eid

Definition at line 36 of file dundi.h.

## Function Documentation

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.

Definition at line 3641 of file pbx_dundi.c.

References DUNDI_HINT_DONT_ASK, DUNDI_HINT_UNAFFECTED, dundi_lookup_internal(), and dundi_hint_metadata::flags.

Referenced by dundi_do_lookup(), dundi_exec(), dundi_helper(), dundi_lookup_exec(), and dundifunc_read().

    03642 {
    03643    struct dundi_hint_metadata hmd;
    03644    dundi_eid *avoid[1] = { NULL, };
    03645    int direct[1] = { 0, };
    03646    int expiration = dundi_cache_time;
    03647    memset(&hmd, 0, sizeof(hmd));
    03648    hmd.flags = DUNDI_HINT_DONT_ASK | DUNDI_HINT_UNAFFECTED;
    03649    return dundi_lookup_internal(result, maxret, chan, dcontext, number, dundi_ttl, 0, &hmd, &expiration, cbypass, 0, NULL, avoid, direct);
    03650 }

int dundi_precache | ( | const char * | dcontext,
|  | const char * | number |
| ) |  |  |

Pre-cache to push upstream peers.

Definition at line 3799 of file pbx_dundi.c.

References dundi_precache_internal().

Referenced by dundi_do_precache(), and process_precache().

    03800 {
    03801    dundi_eid *avoid[1] = { NULL, };
    03802    return dundi_precache_internal(context, number, dundi_ttl, avoid);
    03803 }

int dundi_query_eid | ( | struct dundi_entity_info * | dei,
|  | const char * | dcontext,
|  | dundi_eid | eid |
| ) |  |  |

Retrieve information on a specific EID.

Definition at line 3852 of file pbx_dundi.c.

References dundi_query_eid_internal().

Referenced by dundi_do_query().

    03853 {
    03854    dundi_eid *avoid[1] = { NULL, };
    03855    struct dundi_hint_metadata hmd;
    03856    memset(&hmd, 0, sizeof(hmd));
    03857    return dundi_query_eid_internal(dei, dcontext, &eid, &hmd, dundi_ttl, 0, avoid);
    03858 }

## Variable Documentation

struct dundi_peer_status __packed__

A DUNDi Entity ID is essentially a MAC address, brief and unique.