[Asterisk-Users] Asterisk DNID/RDNIS with Dial iax2
Andrew
andrew-asteriskusers at horizonlive.com
Fri Apr 28 16:11:49 MST 2006
Dear Asterisk-Users:
Question:
========
How do I get asterisk to pass DNID/RDNIS information between
asterisk machines using iax2, in a Dial(IAX2...) command ?
Setup:
=====
I have two asterisk boxes, MASTER and SLAVE. MASTER is running
1.2.0 and SLAVE is running 1.2.1. The main box handles incoming calls
on a multiple lines (both via hardware connection to our internal PBX
and calls forwarded to us by our IAX provider).
Based on a dialed extension, users are passed to a SLAVE asterisk
box. extensions.conf on the MASTER includes a line like the following
to forward via iax2 to the SLAVE box at 10.23.1.43:
exten => _777XXXXX,2,Dial(IAX2/guest at 10.23.1.43/${EXTEN})
I would like to run and store statistics on the SLAVE box based on
the original number dialed by the user. (Did they dial one of the
local numbers, or the 1-800 number, etc.) MASTER has this number store
in ${DNID}.
However, this doesn't get passed onto the SLAVE server. Watching a
tcpdump between MASTER and SLAVE, I see neither the DNID nor RDNIS
IE element passed on the wire.
I see these IEs on the wire:
Protocol version
Number/extension being called
codec negotiation
calling number
calling presentation
calling type of number
calling tansit network select
Name of caller
desired languate
username (peer or user) for authentication
Desired coded format
Actual codec capability
CPE ADSI capability
Date/Time
Neither ${RDNIS} nor ${DNID} is defined when queried on the SLAVE
extensions.conf.
I found this note at voip-info, and don't fully understand it,
but it seems to imply that this isn't going to work?
http://www.voip-info.org/wiki/view/RDNIS
Asterisk note
| Asterisk only supports RGN, and at that, it's wrongly placed in
| the channel's Caller*ID information. The RGN can be set or
| retrieved using the CALLERID(rdnis) function, such as
| Set(CALLERID(rdnis)=5551212). The Dial application also sets the
| RGN to the current extension, unless called within a macro, in which
| case the contents of ${MACRO_EXTEN} are used instead. This overwrites
| anything else set within the dialplan, which may not be what a dialplan
| author would expect. Although IAX2 supports RGN in IE 27 (actually
| misnamed RDNIS), it does not appear to be properly passed to a peer
| when placing outgoing calls.
Do I need to modify the sources (chan_iax2?) to populate and pass the
RDNIS IE from MASTER to SLAVE? Or maybe this is as simple as passing a
magic flag to the dial command?
Thanks for any hints or tips you can pass my way,
Andrew
----
Reach Beyond the Classroom -- Horizon Wimba -- www.horizonwimba.com
Andrew Grangaard
andrew-asteriskusers at horizonlive.com
More information about the asterisk-users
mailing list