Voir la version complète : PB de dialplan sur asterisk-1.8.3.2
Bonjour,
j'effectue un test de asterisk-1.8.3.2 ,mais j'ai un comportement bizare d'un dialplan
qui fonctionne avec asterisk-1.4.39
voici la partie qui pose probleme
; Creation du renvoi d'appel absence
;---------------------------
exten => *70,1,Set(P_Enrenvoi=${CALLERID(num)})
exten => *70,n,Playback(call-forwarding)
exten => *70,n(Debut),Playback(ent-target-attendant)
exten => *70,n,Set(P_DestRenvoi="")
exten => *70,n(Continue_Rv),Read(Digits,,1,,,3)
exten => *70,n,GotoIf($["${LEN(${Digits})}" != "0"]?:Following_Rv)
exten => *70,n(Va_Index),Set(P_DestRenvoi=$[${P_DestRenvoi}${Digits}])
exten => *70,n,Goto(Continue_Rv)
; On verifie que le poste ne se renvoit pas sur lui meme
exten => *70,n(Following_Rv),GotoIf($[ "${P_Enrenvoi}" != "${P_DestRenvoi}" ]?:again)
exten => *70,n,Set(P_Renvoi=${DB(P_Renvoi/${P_DestRenvoi})})
exten => *70,n,GotoIf($["${LEN(${P_Renvoi})}" = "0"]?:again) ;verifie que le poste destinataire n'est pas en renvoi
exten => *70,n,Set(DB(P_Renvoi/${P_Enrenvoi})=${P_DestRenvoi}) ;Si poste pas renvoyer
exten => *70,n,Playback(vm-num-i-have)
exten => *70,n,Set(nbr=0)
exten => *70,n,While($[${nbr} < ${LEN(${P_DestRenvoi})}])
exten => *70,n,Set(nbr_lu=${P_DestRenvoi:${nbr}:1})
exten => *70,n,Playback(digits/${nbr_lu})
exten => *70,n,Set(nbr=$[${nbr}+1])
exten => *70,n,EndWhile
exten => *70,n,Playback(vm-saved)
exten => *70,n,Playback(vm-goodbye)
exten => *70,n,Hangup
exten => *70,n(again),Playback(vm-incorrect)
exten => *70,n,Goto(Debut)
j'ai des erreurs de syntaxe sur les parties en gras et je ne comprends pas
je pense qu'il y a une difference au niveau syntaxe entre asterisk 1.8 et 1.4
je n'ai pas trouve de docs pour l'instant
Avez vous une idee :confused:
Merci
A+
J'ai pas déja répondu à ton poste sur le gotoif ?
J'ai pas déja répondu à ton poste sur le gotoif ?
Bonjour,
Je ne le pense pas. Cependant j'ai effectue un autre test avec asterisk-1.6 et je n'ai pas d'erreur de syntaxe dans le dialplan.
avec mes remerciements
A+
cedricscha
04/04/2011, 08h44
j'ai des erreurs de syntaxe sur les parties en gras et je ne comprends pas
Et si tu nous mettais un extrait de la CLI, avec les erreurs....
Pour qu'on puisse au mieux t'aider
Regarde ca.
http://www.asterisk-france.org/showthread.php/820-Pb-sur-GotoIf-asterisk-1.8.3.2?p=5211#post5211
Regarde ca.
http://www.asterisk-france.org/showthread.php/820-Pb-sur-GotoIf-asterisk-1.8.3.2?p=5211#post5211
Ok je veux ben mais ca ne fonctionne point??
A+
Et si tu nous mettais un extrait de la CLI, avec les erreurs....
Pour qu'on puisse au mieux t'aider
Bonjour,
Voici un extrait de full avec les erreurs
[Apr 5 10:47:26] VERBOSE[20270] pbx.c: -- Executing [*70@P_interne:5] Read("SIP/2052-00000001", "Digits,,1,,,3") in new stack
[Apr 5 10:47:26] VERBOSE[20270] app_read.c: -- Accepting a maximum of 1 digits.
[Apr 5 10:47:26] DEBUG[20270] res_rtp_asterisk.c: - RTP 2833 Event: 00000000 (len = 4)
[Apr 5 10:47:26] DEBUG[20270] res_rtp_asterisk.c: - RTP 2833 Event: 00000000 (len = 4)
[Apr 5 10:47:26] DEBUG[20270] res_rtp_asterisk.c: - RTP 2833 Event: 00000005 (len = 4)
[Apr 5 10:47:26] DEBUG[20270] res_rtp_asterisk.c: Sending dtmf: 53 (5), at 192.168.1.89:10000
[Apr 5 10:47:26] DEBUG[20270] res_rtp_asterisk.c: - RTP 2833 Event: 00000005 (len = 4)
[Apr 5 10:47:26] DEBUG[20270] res_rtp_asterisk.c: - RTP 2833 Event: 00000005 (len = 4)
[Apr 5 10:47:26] DEBUG[20270] res_rtp_asterisk.c: - RTP 2833 Event: 00000005 (len = 4)
[Apr 5 10:47:26] DEBUG[20270] res_rtp_asterisk.c: - RTP 2833 Event: 00000005 (len = 4)
[Apr 5 10:47:26] DEBUG[20270] res_rtp_asterisk.c: - RTP 2833 Event: 00000005 (len = 4)
[Apr 5 10:47:26] DEBUG[20270] res_rtp_asterisk.c: Sending dtmf: 53 (5), at 192.168.1.89:10000
[Apr 5 10:47:26] VERBOSE[20270] app_read.c: -- User entered '5'
[Apr 5 10:47:26] DEBUG[20270] pbx.c: Function result is '1'
[Apr 5 10:47:26] DEBUG[20270] pbx.c: Expression result is '1'
[Apr 5 10:47:26] DEBUG[20270] pbx.c: Launching 'GotoIf'
[Apr 5 10:47:26] VERBOSE[20270] pbx.c: -- Executing [*70@P_interne:6] GotoIf("SIP/2052-00000001", "1?Va_Index:Following_Rv") in new stack
[Apr 5 10:47:26] VERBOSE[20270] pbx.c: -- Goto (P_interne,*70,7)
[Apr 5 10:47:26] WARNING[20270] ast_expr2.fl: ast_yyerror(): syntax error: syntax error, unexpected '<token>', expecting $end; Input:
""5
^
[Apr 5 10:47:26] WARNING[20270] ast_expr2.fl: If you have questions, please refer to doc/tex/channelvariables.tex.
[Apr 5 10:47:26] DEBUG[20270] pbx.c: Expression result is '""'
Salut,
peut être que les quotes sont gérées différemment en 1.8.
Pourquoi mettre "espace" dans DestRenvoi ?
exten => *70,n,Set(P_DestRenvoi="")
Essaye cela avec Set(P_DestRenvoi=).
Parceque l'erreur de la CLI :
[Apr 5 10:47:26] WARNING[20270] ast_expr2.fl: ast_yyerror(): syntax error: syntax error, unexpected '<token>', expecting $end; Input: ""5^
[Apr 5 10:47:26] WARNING[20270] ast_expr2.fl: If you have questions, please refer to doc/tex/channelvariables.tex.
[Apr 5 10:47:26] DEBUG[20270] pbx.c: Expression result is '""'
me parait vouloir dire que lorsqu'il y'a ton check dans le GotoIf, il teste "" (soit P_DestRenvoi) lui même dans des doubles quotes ... """"
Et perso les espaces dans les conditions ... j'évite au maximum ;)
Pour exten => *70,n(Va_Index),Set(P_DestRenvoi=$[${P_DestRenvoi}${Digits}]) , as tu besoin de mettre cela dans une expression $[] ?, de la concaténation simple devrait suffire non ?
*70,n(Va_Index),Set(P_DestRenvoi=${P_DestRenvoi}${ Digits})
++
Salut,
peut être que les quotes sont gérées différemment en 1.8.
Pourquoi mettre "espace" dans DestRenvoi ?
exten => *70,n,Set(P_DestRenvoi="")
Essaye cela avec Set(P_DestRenvoi=).
Parceque l'erreur de la CLI :
[Apr 5 10:47:26] WARNING[20270] ast_expr2.fl: ast_yyerror(): syntax error: syntax error, unexpected '<token>', expecting $end; Input: ""5^
[Apr 5 10:47:26] WARNING[20270] ast_expr2.fl: If you have questions, please refer to doc/tex/channelvariables.tex.
[Apr 5 10:47:26] DEBUG[20270] pbx.c: Expression result is '""'
me parait vouloir dire que lorsqu'il y'a ton check dans le GotoIf, il teste "" (soit P_DestRenvoi) lui même dans des doubles quotes ... """"
Et perso les espaces dans les conditions ... j'évite au maximum ;)
Pour exten => *70,n(Va_Index),Set(P_DestRenvoi=$[${P_DestRenvoi}${Digits}]) , as tu besoin de mettre cela dans une expression $[] ?, de la concaténation simple devrait suffire non ?
*70,n(Va_Index),Set(P_DestRenvoi=${P_DestRenvoi}${ Digits})
++
Avec mes remerciements
effectivement cela venait de exten => *70,n,Set(P_DestRenvoi="") en elevant les doubles cotes ça fonctionne
l'habitude developpement en PERL (initialisation variable etc...)
ce que me surprends c'est le changement de comportement d'un version a une autre
Pour exten => *70,n(Va_Index),Set(P_DestRenvoi=$[${P_DestRenvoi}${Digits}]) , as tu besoin de mettre cela dans une expression $[] ?, de la concaténation simple devrait suffire non ?
*70,n(Va_Index),Set(P_DestRenvoi=${P_DestRenvoi}${ Digits})
++
pourquoi pas c'est une question de clarete d'ecriture
Encore une fois merci
A+
Re,
avec plaisir, bonne continuation ;)
++
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. Tous droits réservés