[asterisk-r2] mfcr2_max_dnis is also the minimum dnis length acceptable?

starisk11 at gmail.com starisk11 at gmail.com
Fri Jun 25 08:36:27 CDT 2010


Hi

I have an Elastix with the following setup


elastix*CLI> core show version
Asterisk 1.4.25 built by root @ rpmbuild64.elastix.palosanto.com on a x86_64
running Linux on 2009-06-02 18:11:52 UTC

elastix*CLI> dahdi show status
Description                              Alarms     IRQ        bpviol
CRC4
T2XXP (PCI) Card 0 Span 1                OK         0          0          0
T2XXP (PCI) Card 0 Span 2                UNCONFIGUR 0          0          0


on /etc/dahdi/system.conf

loadzone = us
span=1,0,0,cas,hdb3
cas=1-15:1101
dchan=16
cas=17-31:1101
loadzone = us


and  on /etc/asterisk/chan_dahdi.conf

[trunkgroups]

[channels]
language=en
context=from-zaptel
signalling=mfcr2
mfcr2_variant=ph
mfcr2_get_ani_first=no
mfcr2_max_ani=20
mfcr2_max_dnis=20
mfcr2_skip_category=no
;mfcr2_category=national_subscriber
mfcr2_logdir=headstrong
mfcr2_call_files=yes
mfcr2_logging=all
mfcr2_mfback_timeout=-1
mfcr2_metering_pulse_timeout=-1
mfcr2_allow_collect_calls=no
mfcr2_double_answer=no
mfcr2_immediate_accept=no
mfcr2_forced_release=no
mfcr2_charge_calls=no
channel => 1-15
channel => 17-31

elastix*CLI> mfcr2 show version
OpenR2 version: 1.1.0, revision: exported

and this is my problem. If I set mfcr2_max_dnis to a length greater than the
number of digits passed by the NortelPbx, I got this error

[16:22:37:944] [Thread: 1080944960] [Chan 31] - DNIS so far: 55518185748140,
expected length: 20
[16:22:37:944] [Thread: 1080944960] [Chan 31] - Requesting next DNIS with
signal 0x31.
[16:22:37:944] [Thread: 1080944960] [Chan 31] - MF Tx >> 1 [ON]
[16:22:38:004] [Thread: 1080944960] [Chan 31] - MF Rx << 0 [OFF]
[16:22:38:004] [Thread: 1080944960] [Chan 31] - MF Tx >> 1 [OFF]
[16:22:42:944] [Thread: 1080944960] [Chan 31] - Attempting to cancel timer
timer 15
[16:22:42:944] [Thread: 1080944960] [Chan 31] - timer id 15 found,
cancelling it now
[16:22:42:944] [Thread: 1080944960] [Chan 31] - calling timer callback
[16:22:42:944] [Thread: 1080944960] [Chan 31] - MF back cycle timed out!
[16:22:42:944] [Thread: 1080944960] [Chan 31] - Protocol error. Reason =
Multi Frequency Cycle Timeout, R2 State = Seize ACK Transmitted, MF state =
DNIS Request Transmitted, MF Group = Backward Group A, CAS = 0x00
DNIS = 55518185748140, ANI = , MF = 0x20
[16:22:42:944] [Thread: 1080944960] [Chan 31] - Attempting to cancel timer
timer 0
[16:22:42:944] [Thread: 1080944960] [Chan 31] - Cannot cancel timer 0

but when I set the mfcr2_max_dnis to the length of number of digits passed
by NortelPbx, the call can get through.

[17:21:23:341] [Thread: 1080699200] [Chan 31] - DNIS so far: 5551818574814,
expected length: 14
[17:21:23:341] [Thread: 1080699200] [Chan 31] - Requesting next DNIS with
signal 0x31.
[17:21:23:341] [Thread: 1080699200] [Chan 31] - MF Tx >> 1 [ON]
[17:21:23:401] [Thread: 1080699200] [Chan 31] - MF Rx << 4 [OFF]
[17:21:23:401] [Thread: 1080699200] [Chan 31] - MF Tx >> 1 [OFF]
[17:21:24:001] [Thread: 1080699200] [Chan 31] - MF Rx << 0 [ON]
[17:21:24:001] [Thread: 1080699200] [Chan 31] - Attempting to cancel timer
timer 14
[17:21:24:001] [Thread: 1080699200] [Chan 31] - timer id 14 found,
cancelling it now
[17:21:24:001] [Thread: 1080699200] [Chan 31] - Getting DNIS digit 0
[17:21:24:001] [Thread: 1080699200] [Chan 31] - DNIS so far: 55518185748140,
expected length: 14
[17:21:24:001] [Thread: 1080699200] [Chan 31] - Done getting DNIS!
[17:21:24:001] [Thread: 1080699200] [Chan 31] - MF Tx >> 5 [ON]
[17:21:24:061] [Thread: 1080699200] [Chan 31] - MF Rx << 0 [OFF]
[17:21:24:061] [Thread: 1080699200] [Chan 31] - MF Tx >> 5 [OFF]
[17:21:24:141] [Thread: 1080699200] [Chan 31] - MF Rx << 6 [ON]
[17:21:24:141] [Thread: 1080699200] [Chan 31] - Attempting to cancel timer
timer 15
[17:21:24:141] [Thread: 1080699200] [Chan 31] - timer id 15 found,
cancelling it now
[17:21:24:141] [Thread: 1080699200] [Chan 31] - MF Tx >> 5 [ON]
[17:21:24:201] [Thread: 1080699200] [Chan 31] - MF Rx << 6 [OFF]
[17:21:24:201] [Thread: 1080699200] [Chan 31] - MF Tx >> 5 [OFF]
[17:21:24:281] [Thread: 1080699200] [Chan 31] - MF Rx << 1 [ON]
[17:21:24:281] [Thread: 1080699200] [Chan 31] - Attempting to cancel timer
timer 16
[17:21:24:281] [Thread: 1080699200] [Chan 31] - timer id 16 found,
cancelling it now
[17:21:24:281] [Thread: 1080699200] [Chan 31] - Getting ANI digit 1
[17:21:24:281] [Thread: 1080699200] [Chan 31] - ANI so far: 1, expected
length: 20
[17:21:24:281] [Thread: 1080699200] [Chan 31] - MF Tx >> 5 [ON]
[17:21:24:341] [Thread: 1080699200] [Chan 31] - MF Rx << 1 [OFF]
[17:21:24:341] [Thread: 1080699200] [Chan 31] - MF Tx >> 5 [OFF]
[17:21:24:421] [Thread: 1080699200] [Chan 31] - MF Rx << 3 [ON]


Is there something I need to set to make this thing work, so that when the
number of digits passed is between 14 to 18 in length it will be handle by
openR2 without an error?

Thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-r2/attachments/20100625/294c76c1/attachment.htm 


More information about the asterisk-r2 mailing list