forked from Mirrors/freeswitch
60434decf5
mod_enum can be used as a dialplan app, an api call from the console or as a dialplan interface. Dialplan Interface: put enum as the dialplan parameter in an endpoint module i.e. instead of "XML" set it to "enum" or "enum,XML" for fall through. Dialplan App: This example will do a lookup and set the a variable that is the proper dialstring to call all of the possible routes in order of preference according to the lookup and the order of the routes in the enum.conf section. <extension name="tollfree"> <condition field="destination_number" expression="^(18(0{2}|8{2}|7{2}|6{2})\d{7})$"> <action application="enum" data="$1"/> <action application="bridge" data="${enum_auto_route}"/> </condition> </extension> You can also pick an alrernate root: <action application="enum" data="$1 myroot.org"/> API command: at the console you can say: enum <number> [<root>] The root always defaults to the one in the enum.conf section. git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3494 d0543943-73ff-0310-b7d9-9358b9ac24b2
75 lines
2.6 KiB
Plaintext
75 lines
2.6 KiB
Plaintext
$Id: TODO,v 1.10 2005/04/19 21:48:09 mjt Exp $
|
|
|
|
The following is mostly an internal, not user-visible stuff.
|
|
|
|
* rearrange an API to make dns_query object owned by application,
|
|
so that it'll look like this:
|
|
struct dns_query *q;
|
|
q = udns_query_alloc(ctx);
|
|
udns_query_set(q, options, domain_name, flags, ...);
|
|
udns_query_submit(ctx, q);
|
|
or
|
|
udns_query_resolve(ctx, q);
|
|
|
|
* allow NULL callbacks? Or provide separate resolver
|
|
context list of queries which are done but wich did not
|
|
have callback, and dns_pick() routine to retrieve results
|
|
from this query, i.e. allow non-callback usage? The
|
|
non-callback usage may be handy sometimes (any *good*
|
|
example?), but it will be difficult to provide type-safe
|
|
non-callback interface due to various RR-specific types
|
|
in use.
|
|
|
|
* DNS_OPT_FLAGS should be DNS_OPT_ADDFLAGS and DNS_OPT_SETFLAGS.
|
|
Currently one can't add a single flag bit but preserve
|
|
existing bits... at least not without retrieving all current
|
|
flags before, which isn't that bad anyway.
|
|
|
|
* dns_set_opts() may process flags too (such as aaonly etc)
|
|
|
|
* a way to disable $NSCACHEIP et al processing?
|
|
|
|
* initialize/open the context automatically, and be more
|
|
liberal about initialization in general?
|
|
|
|
* dns_init(do_open) - make the parameter opposite, aka
|
|
dns_init(skip_open) ?
|
|
|
|
* for the above. Use separate routine for initializing the context
|
|
from system files, to not link stuff reading resolv.conf if it's
|
|
not needed. So that automatic init will not be possible.
|
|
|
|
* allow TCP queue?
|
|
|
|
* detect servers which don't understand EDNS0 (returning FORMERR),
|
|
and fall back to pre-EDNS0 for them.
|
|
|
|
* for the above to work, we have to be able to find query object by
|
|
only ID, not ID + qdn.
|
|
|
|
* And oh, qID should really be random.
|
|
|
|
* more accurate error reporting. Currently, udns always returns TEMPFAIL,
|
|
but don't specify why it happened (ENOMEM, timeout, etc).
|
|
|
|
* check the error value returned by recvfrom() and
|
|
sendto() and determine which errors to ignore.
|
|
|
|
* maybe merge dns_timeouts() and dns_ioevent(), to have
|
|
only one entry point for everything? For traditional
|
|
select-loop-based eventloop it may be easier, but for
|
|
callback-driven event loops the two should be separate.
|
|
Provide an option, or a single dns_events() entry point
|
|
for select-loop approach, or just call dns_ioevent()
|
|
from within dns_timeouts() (probably after renaming
|
|
it to be dns_events()) ?
|
|
|
|
* implement /etc/hosts lookup too, ala [c-]ares??
|
|
|
|
* sortlist support?
|
|
|
|
* windows port? Oh no please!.. At least, I can't do it myself
|
|
because of the lack of platform.
|
|
Ok ok, the Windows port is in progress. Christian Prahauser
|
|
from cosy.sbg.ac.at is helping with that.
|