3) modprobe opvxa1200 cidbeforering=1 opermode=CHINA ; if loading a400p, please change to wctdm cidbeforering=1
here, users must to know how the callerid has been sent:
3.1)
if before first ring, no polarity sending, send cid[font=宋体],
[/font]then first ring:
please load:
modprobe opvxa1200 cidbeforering=1 opermode=CHINA // opemode=CHINA load with CHINA format
3.2)
if after first ring then send cid, you have to set:
modprobe opvxa1200 cidbeforering=1 cidbuflen=10 fixedtimepolarity
=100 opermode=CHINA
NOTE: you MSUT load the driver with your COUNTRY. please change the parameters in zaptel.conf and indication.conf to your COUNTRY.
4) ztcfg -vvvvvvvvv
5) open your asterisk debug to check the functionality.
6) modify the chan_zap.c in asterisk, change res to 4000 or higher:
=============ss_thread method=====================
if (res <= 0) { ast_log(LOG_WARNING, "DTMFCID timed out waiting for ring. " "Exiting simple switch\n"); ast_hangup(chan); return NULL; }
f = ast_read(chan);
if (!f) break;
if (f->frametype == AST_FRAME_DTMF)
{ dtmfbuf[i++] = f->subclass;
ast_log(LOG_DEBUG, "CID got digit '%c'\n", f->subclass);
res = 4000; // at line 6156, change 2000 to 4000
}
ast_frfree(f);
if (chan->_state == AST_STATE_RING
|| chan->_state == AST_STATE_RINGING) break; /* Got ring */ }
=================================
7) recompile your asterisk: make and make install
start asterisk: asterisk -vvvvvvvvvvgc -d
I do not give the the info for dahdi yet, User can download the dahdi patch from here:
http://www.openvox.cn/viewvc/dahdi/trunk/
this patch works for most of cases,you MAY adjust the load parameters to fit your environment. therefore, you have to take more tests. if you have any problem, please leave here.
Regards!
james.zhu