Bom dia pessoal,<br><br>Seguinte, compramos uma placa Aligera AP412. Estou com essa placa já tem seis meses, e sempre tenho problemas diferentes com ela.<br>O cenário desse cliente é o seguinte:<br><br>Asterisk puro: 1.6.2.17<br>
asterisk-addons: 1.6.2.2<br>Dahdi-linux: 2.4.0<br>Dahdi-Tools: 2.4.0<br>Driver da placa AP400 Rev: 13<br><br>PABX ALCATEL <ISDN> ASTERISK ALIGERA SPAN2 <VARIOS RAMAIS SIP> ASTERISK ALIGERA SPAN1 <R2><br>
Ocorre que o PABX Alcatel não consegue fazer transferencia esterna de ramais analogicos, logo uso a facilidade de transferencia do ASTERISK para transferir chamadas via atxfer (isso quando uma chamada vem da operadora, passa pelo asterisk e vai para o pabx, e o usuário do pabx alcatel precisa transferir essa chamada para um ramal SIP do asterisk) ai por algum motivo o dtmf discado no ramal analogico da alcatel chega no asterisk errado, ou não chega, ou chega somente parte dos digitos.<br>
A principio penser ser um problema refente a sinalização ISDN entre o PABX e o ASTERISK, embora o DMTF passe por audio ...<br>Mas ai vi que a URA (que atende as chamadas que vem pela SPAN1) também não funciona direito, ocorre a mesma coisa com os digitos DTMF.<br>
<br>O estranho é que colocando uma placa Khomp funcionou e uma Digivoice também funcionou, parece que o problema só ocorre quando usa DAHDI. Alguém ja passou por isso? tem ideia do que posso tentar fazer?<br><br><br>Estou tendo uma péssima impressão com a Aligera não só por isso, e o suporte deles simplesmente me disse que o DTMF não vai funcionar 100% e que não tem o que fazer.<br>
Mas não só por isso, desde que estou com essa placa, sempre tem um problema ou outro.<br><br>Abaixo o meu chan_dahdi.conf, system.conf e o features.conf<br clear="all"><br>chan_dahdi<br>[trunkgroups]<br>[channels]<br>;<br>
switchtype=euroisdn<br>language=pt_BR<br>usecallerid=yes<br>callwaiting=yes<br>usecallingpres=yes<br>callwaitingcallerid=yes<br>threewaycalling=yes<br>transfer=yes<br>canpark=yes<br>cancallforward=yes<br>callreturn=yes<br>
echocancel=yes<br>echocancelwhenbridged=yes<br>overlapdial=yes<br>faxdetect=both<br>;<br>;signalling=mfcr2<br>mfcr2_variant=br<br>mfcr2_get_ani_first=no<br>mfcr2_max_ani=20<br>mfcr2_max_dnis=4<br>mfcr2_category=national_subscriber<br>
<br>mfcr2_advanced_protocol_file=/etc/r2proto.conf<br><br>mfcr2_allow_collect_calls=no<br>mfcr2_double_answer=no<br><br>signalling=mfcr2<br>context=entrada<br>group=1<br>channel=>1-15,17-31<br><br>switchtype=euroisdn<br>
signalling=pri_net<br>context=para-pstn<br>group=2<br>channel=>32-46,48-62<br><br><br>system.conf<br>loadzone = br<br>defaultzone=br<br>#<br>#<br>span=1,1,0,cas,hdb3<br>cas=1-15,17-31:1101<br>#<br>span=2,0,0,ccs,hdb3<br>
bchan=32-46<br>dchan=47<br>bchan=48-62<br>#<br><br>features.conf<br>;<br>; Sample Call Features (parking, transfer, etc) configuration<br>;<br><br>[general]<br>parkext => 700 ; What extension to dial to park (all parking lots)<br>
parkpos => 701-720 ; What extensions to park calls on. (defafult parking lot)<br> ; These needs to be numeric, as Asterisk starts from the start position<br> ; and increments with one for the next parked call.<br>
;context => parkercalls ; Which context parked calls are in (default parking lot)<br>context => ramais ; Which context parked calls are in (default parking lot)<br>;parkinghints = no ; Add hints priorities automatically for parking slots (default is no).<br>
parkingtime => 45 ; Number of seconds a call can be parked for <br> ; (default is 45 seconds)<br>;comebacktoorigin = yes ; Whether to return to the original calling extension upon parking<br> ; timeout or to send the call to context 'parkedcallstimeout' at<br>
; extension 's', priority '1' (default is yes).<br>;courtesytone = beep ; Sound file to play to the parked caller <br> ; when someone dials a parked call<br> ; or the Touch Monitor is activated/deactivated.<br>
;parkedplay = caller ; Who to play the courtesy tone to when picking up a parked call<br> ; one of: parked, caller, both (default is caller)<br>;parkedcalltransfers = caller ; Enables or disables DTMF based transfers when picking up a parked call.<br>
; one of: callee, caller, both, no (default is no)<br>;parkedcallreparking = caller ; Enables or disables DTMF based parking when picking up a parked call.<br> ; one of: callee, caller, both, no (default is no)<br>
;parkedcallhangup = caller ; Enables or disables DTMF based hangups when picking up a parked call.<br> ; one of: callee, caller, both, no (default is no)<br>;parkedcallrecording = caller ; Enables or disables DTMF based one-touch recording when picking up a parked call.<br>
; one of: callee, caller, both, no (default is no)<br>;adsipark = yes ; if you want ADSI parking announcements<br>;findslot => next ; Continue to the 'next' free parking space. <br>
; Defaults to 'first' available<br>;parkedmusicclass=default ; This is the MOH class to use for the parked channel<br> ; as long as the class is not set on the channel directly<br>
; using Set(CHANNEL(musicclass)=whatever) in the dialplan<br><br>transferdigittimeout => 5 ; Number of seconds to wait between digits when transferring a call<br> ; (default is 3 seconds)<br>
;xfersound = beep ; to indicate an attended transfer is complete<br>;xferfailsound = beeperr ; to indicate a failed transfer<br>pickupexten = 48 ; Configure the pickup extension. (default is *8)<br>;pickupsound = beep ; to indicate a successful pickup (default: no sound)<br>
;pickupfailsound = beeperr ; to indicate that the pickup failed (default: no sound)<br>;featuredigittimeout = 1000 ; Max time (ms) between digits for <br> ; feature activation (default is 1000 ms)<br>
;atxfernoanswertimeout = 10 ; Timeout for answer on attended transfer default is 15 seconds.<br>;atxferdropcall = no ; If someone does an attended transfer, then hangs up before the transferred<br> ; caller is connected, then by default, the system will try to call back the<br>
; person that did the transfer. If this is set to "yes", the callback will<br> ; not be attempted and the transfer will just fail.<br>atxferloopdelay = 10 ; Number of seconds to sleep between retries (if atxferdropcall = no)<br>
atxfercallbackretries = 5 ; Number of times to attempt to send the call back to the transferer.<br> ; By default, this is 2.<br><br>;<br>;*** Define another parking lot<br>;<br>; You can set parkinglot with the CHANNEL dialplan function<br>
; or by setting 'parkinglot' directly in the channel configuration file.<br>;<br>;[parkinglot_edvina]<br>;context => edvinapark<br>;parkpos => 800-850<br>;findslot => next<br><br>; Note that the DTMF features listed below only work when two channels have answered and are bridged together.<br>
; They can not be used while the remote party is ringing or in progress. If you require this feature you can use<br>; chan_local in combination with Answer to accomplish it.<br><br><br>[featuremap]<br>blindxfer => *3 ; Blind transfer (default is #1) -- Make sure to set the T and/or t option in the Dial() or Queue() app call!<br>
;disconnect => *0 ; Disconnect (default is *0) -- Make sure to set the H and/or h option in the Dial() or Queue() app call!<br>;automon => *1 ; One Touch Record a.k.a. Touch Monitor -- Make sure to set the W and/or w option in the Dial() or Queue() app call!<br>
atxfer => *2 ; Attended transfer -- Make sure to set the T and/or t option in the Dial() or Queue() app call!<br>;parkcall => #72 ; Park call (one step parking) -- Make sure to set the K and/or k option in the Dial() app call!<br>
;automixmon => *3 ; One Touch Record a.k.a. Touch MixMonitor -- Make sure to set the X and/or x option in the Dial() or Queue() app call!<br><br>[applicationmap]<br>; Note that the DYNAMIC_FEATURES channel variable must be set to use the features<br>
; defined here. The value of DYNAMIC_FEATURES should be the names of the features<br>; to allow the channel to use separated by '#'. For example:<br>;<br>; Set(__DYNAMIC_FEATURES=myfeature1#myfeature2#myfeature3)<br>
;<br>; (Note: The two leading underscores allow these feature settings to be set on<br>; on the outbound channels, as well. Otherwise, only the original channel<br>; will have access to these features.)<br>;<br>; The syntax for declaring a dynamic feature is any of the following:<br>
;<br>;<FeatureName> => <DTMF_sequence>,<ActivateOn>[/<ActivatedBy>],<Application>[,<AppArguments>[,MOH_Class]]<br>;<FeatureName> => <DTMF_sequence>,<ActivateOn>[/<ActivatedBy>],<Application>[,"<AppArguments>"[,MOH_Class]]<br>
;<FeatureName> => <DTMF_sequence>,<ActivateOn>[/<ActivatedBy>],<Application>([<AppArguments>])[,MOH_Class]<br><br>;<br>; FeatureName -> This is the name of the feature used in when setting the<br>
; DYNAMIC_FEATURES variable to enable usage of this feature.<br>; DTMF_sequence -> This is the key sequence used to activate this feature.<br>; ActivateOn -> This is the channel of the call that the application will be executed<br>
; on. Valid values are "self" and "peer". "self" means run the<br>; application on the same channel that activated the feature. "peer"<br>; means run the application on the opposite channel from the one that<br>
; has activated the feature.<br>; ActivatedBy -> This is which channel is allowed to activate this feature. Valid<br>; values are "caller", "callee", and "both". "both" is the default.<br>
; The "caller" is the channel that executed the Dial application, while<br>; the "callee" is the channel called by the Dial application.<br>; Application -> This is the application to execute.<br>
; AppArguments -> These are the arguments to be passed into the application. If you need<br>; commas in your arguments, you should use either the second or third<br>; syntax, above.<br>
; MOH_Class -> This is the music on hold class to play while the idle<br>; channel waits for the feature to complete. If left blank,<br>; no music will be played.<br>;<br><br>;<br>
; IMPORTANT NOTE: The applicationmap is not intended to be used for all Asterisk<br>; applications. When applications are used in extensions.conf, they are executed<br>; by the PBX core. In this case, these applications are executed outside of the<br>
; PBX core, so it does *not* make sense to use any application which has any<br>; concept of dialplan flow. Examples of this would be things like Macro, Goto,<br>; Background, WaitExten, and many more.<br>;<br>; Enabling these features means that the PBX needs to stay in the media flow and<br>
; media will not be re-directed if DTMF is sent in the media stream.<br>;<br>; Example Usage:<br>;<br>;testfeature => #9,peer,Playback,tt-monkeys ;Allow both the caller and callee to play<br>; ;tt-monkeys to the opposite channel<br>
;<br>; Set arbitrary channel variables, based upon CALLERID number (Note that the application<br>; argument contains commas)<br>;retrieveinfo => #8,peer,Set(ARRAY(CDR(mark),CDR(name))=${ODBC_FOO(${CALLERID(num)})})<br>
;<br>;pauseMonitor => #1,self/callee,Pausemonitor ;Allow the callee to pause monitoring<br>; ;on their channel<br>;unpauseMonitor => #3,self/callee,UnPauseMonitor ;Allow the callee to unpause monitoring<br>
; ;on their channel<br><br>; Dynamic Feature Groups:<br>; Dynamic feature groups are groupings of features defined in [applicationmap]<br>; that can have their own custom key mappings. To give a channel access to a dynamic<br>
; feature group, add the group name to the value of the DYNAMIC_FEATURES variable.<br>;<br>; example:<br>; [myGroupName] ; defines the group named myGroupName<br>; testfeature => #9 ; associates testfeature with the group and the keycode '#9'.<br>
; pauseMonitor => ; associates pauseMonitor with the group and uses the keycode specified<br>; ; in the [applicationmap].<br><br><br>Grato por qualquer ajuda.<br>-- <br><font face="Calibri">Dilceu Luiz Pazinatto<br>
Electronics technician<br>Engineering students</font><br>