Voir la version complète : Annonce temps d'attente file d'attente
Bonjour à tous,
J'ai un petit soucis avec le language FR et le chiffre "un" / "une".
Dans mes files d'attente, on annonce le temps estimé d'attente. Actuellement ça donne "un minute ...".
Si je modifie le son "un" par le son "une" dans les fichiers sons asterisk, je vais me retrouver, pour les VM, avec un truc genre "vous avez UNE nouveau message".
Donc j'ai fouillé dans la source de app_queue, et j'ai trouvé ceci ligne 3651 :
...
if (holdtime == 1)
{
ast_say_number(peer, holdtime, AST_DIGIT_ANY, peer->language, NULL);
play_file(peer, qe->parent->sound_minute);
}
...
Quelqu'un aurait une idée de comment le modifier ?
Je suis sur asterisk 1.6.1.6.
Cdt
Quelqu'un aurait une idée de comment le modifier ?
Je suis sur asterisk 1.6.1.6.
Cdt
Peut etre. ;)
ast_say_number(peer, holdtime, AST_DIGIT_ANY, peer->language, 'f');normalement.
Verifie que les sons digits 1F et "et" sont presents
Fastm3.
ffossard
19/11/2010, 17h11
En cherchant j'ai trouvé un bug dans le fichier app_queue.c de la 1.6.20, mais rien à voir avec le problème :sleep:
edit: bug présent dans la 1.6.1.20 mais corrigé en 1.6.2: fichier queue-minute utilisé dans app_queue mais manquant dans les sounds.
Verifie que les sons digits 1F et "et" sont presents
Fastm3.
Merci pour cette info, je recompilerai le module lundi
c'est le digit "1F" dont tu parles ou c'est une faute de frappe ?
Rico
Bon apparement il s'agit bien de "1F", mais je ne l'ai trouvé ni dans le core sounds FR, ni dans le extra sounds FR
Whaaaa je saisis la balle au bonn, ce topic tomba à pic... tu connaitrais pas un tuto qui explique comment mettre ça en place !?
Un grand merci d'avance,
Lio
ffossard
19/11/2010, 18h46
Whaaaa je saisis la balle au bonn, ce topic tomba à pic... tu connaitrais pas un tuto qui explique comment mettre ça en place !?
Un grand merci d'avance,
Lio
Mettre en place ... quoi ?
ffossard
19/11/2010, 18h47
Bon apparement il s'agit bien de "1F", mais je ne l'ai trouvé ni dans le core sounds FR, ni dans le extra sounds FR
A mon avis on mets ce qu'on veut comme suffixe en dernier paramètre, là François a mis "F" mais on doit pouvoir mettre "tartempion" pour un fichier audio "1tartempion".
edit => raté, voir plus loin dans le sujet :wahoo:
Mettre en place ... quoi ?
Cette fonction justement : l'annonce du temps d'attente et en français en plus !
ffossard
19/11/2010, 20h06
Je trouve le fichier sample queues.conf bien expliqué, il suffit de lire, regarde les paramètres qui commencent par "announce", tu trouvera en 2 minutes.
(Cette manie de vouloir des tutos :mouais: )
A mon avis on mets ce qu'on veut comme suffixe en dernier paramètre, là François a mis "F" mais on doit pouvoir mettre "tartempion" pour un fichier audio "1tartempion".
Perdu :D, pour la version francaise, il faut bien mettre f et le digit necessaire sera 1F et et. C'est a dire qu'il faut un fichier par exemple 1F.gsm et et.gsm ( ou le format desiré ) avec les autres digits. J'ai juste decouvert ca en regardant moi aussi les sources de la branche 1.6.2.
Le f veut dire feminin. 1F doit contenir le mot "une". Je vous laisse chercher pour "et". ;)
A+
Fastm3.
Je trouve le fichier sample queues.conf bien expliqué, il suffit de lire, regarde les paramètres qui commencent par "announce", tu trouvera en 2 minutes.
(Cette manie de vouloir des tutos :mouais: )
Super merci !!! C'est ce que je voulais savoir, c'est toujours plus simple quand on sait où chercher :)
ffossard
20/11/2010, 18h58
Perdu :D, pour la version francaise, il faut bien mettre f et le digit necessaire sera 1F et et. C'est a dire qu'il faut un fichier par exemple 1F.gsm et et.gsm ( ou le format desiré ) avec les autres digits. J'ai juste decouvert ca en regardant moi aussi les sources de la branche 1.6.2.
Le f veut dire feminin. 1F doit contenir le mot "une". Je vous laisse chercher pour "et". ;)
A+
Fastm3.
Ah étrange de pas avoir mis "FR" :hebe:
Merci pour cette info intéressante :jap:
Sais-tu si il y'a moyen de passer ce paramètre sans modifier la source ?
Sais-tu si il y'a moyen de passer ce paramètre sans modifier la source ?
A priori non, en fait c'est bien le module file d'attente qui devrait tenir compte du francais et comme minute est feminin...Ca me parait donc un patch a ajouter systematiquement, me semble t'il sachant qu'il ne perturbera pas si la langue est settée a en. Il faudrait aussi considerer les autres langues qui ont le meme principe.
C'est f comme feminin et non francais, il faut que la langue passée dans le precedent parametre soit fr par contre pour que ce parametre ait un sens et utilité. Tu peux regarder ast_say_number_full_fr dans say.c .
A+
Fastm3.
Et quelqu'un a t-il le son "1F" du coup ? Je ne le trouve pas
Et quelqu'un a t-il le son "1F" du coup ? Je ne le trouve pas
Tu decoupes le son "une" d'un prompt existant ( core ou extra ) et tu le sauves sous 1F, c'est le plus simple me semble t'il pour garder la meme voix que tu utilises.
Fastm3.
Je trouve le fichier sample queues.conf bien expliqué, il suffit de lire, regarde les paramètres qui commencent par "announce", tu trouvera en 2 minutes.
(Cette manie de vouloir des tutos :mouais: )
Je trouve pas le fichier "sample queues.conf" il est où?
Quand je fais un locate queues.conf je trouve que :
/etc/asterisk/queues.conf
/usr/src/tbm-pbxconfig-5.5.1/amp_conf/astetc/queues.conf
Merci,
++
Lio
Bon j'ai fait les modifs hier, recompilé et réinstallé le module, mais j'ai toujorus le même probleme. Voici ce que j'ai fait :
J'ai modifié le fichier apps/app_queue.c dans les sources :
#ligne 3651
if (holdtime == 1) {
ast_say_number(peer, holdtime, AST_DIGIT_ANY, peer->language, 'f');
play_file(peer, qe->parent->sound_minute);
j'ai bien le fichier son 1F :
# ls /var/lib/asterisk/sounds/fr/digits/1* -la
...
-rw-r----- 1 asterisk asterisk 3743 sep 14 2009 /var/lib/asterisk/sounds/fr/digits/1.alaw
-rw-r--r-- 1 asterisk asterisk 12582 nov 22 14:00 /var/lib/asterisk/sounds/fr/digits/1F.wav
...
Mais dfans ma CLI j'ai toujours :
[2010-11-23 14:06:21] -- Hold time for fileattente is 1 minute(s) 30 seconds
[2010-11-23 14:06:21] -- <SIP/xxx-b7008320> Playing 'queue-holdtime.alaw' (language 'fr')
[2010-11-23 14:06:23] -- <SIP/xxx-b7008320> Playing 'digits/1.alaw' (language 'fr')
[2010-11-23 14:06:24] -- <SIP/xxx-b7008320> Playing 'queue-minute.alaw' (language 'fr')
[2010-11-23 14:06:25] -- <SIP/xxx-b7008320> Playing 'digits/30.alaw' (language 'fr')
[2010-11-23 14:06:25] -- <SIP/xxx-b7008320> Playing 'queue-seconds.alaw' (language 'fr')
Y'a-t-il quelque chose que j'ai oublié ?
Merci pour votre aide
Rico
Tu n'installes pas a partir des sources. Le .sample est dispo apres une install "clean"...;) Recupere les sources a partir de asterisk.org
Tu as aussi la doc developpeur pour naviguer dans les sources.
A toi de choisir la version que tu utilises.
http://www.asterisk.org/developers/documentation
Le queue.conf.sample que tu obtiens du trunk est la:
http://www.asterisk.org/doxygen/trunk/Config_qu.html
Fastm3.
Y'a-t-il quelque chose que j'ai oublié ?
Debugguer ?:D
Pas d'autres choix pour creuser. Verifies aussi que ta version du code source prends bien en compte le parametre 'f'. Je ne sais plus sur quelle branche j'ai regardé.
Fastm3.
Debugguer ?:D
Pas d'autres choix pour creuser. Verifies aussi que ta version du code source prends bien en compte le parametre 'f'. Je ne sais plus sur quelle branche j'ai regardé.
Fastm3.
Dans say.c, il semble bien prendre en compte le 'f' :
if (options && !strncasecmp(options, "f", 1))
mf = -1;
...
....
} else if (num == 1) {
if (mf < 0)
snprintf(fn, sizeof(fn), "digits/%dF", num);
else
snprintf(fn, sizeof(fn), "digits/%d", num);
...
je pige pas là
Même en activant le débug, il n'y a rien concernant les "ast_say_number"... Y'a t-il un autre moyen de debugger sans trop bidouiller dans le code source ? (cer c'est du C et je ne suis pas une bête en C ...) (et car que le systeme est en prod)
help !
Warning a la compilation :
# make
Generating input for menuselect ...
menuselect/menuselect --check-deps menuselect.makeopts
Generating embedded module rules ...
[CC] app_queue.c -> app_queue.o
app_queue.c: In function ‘try_calling’:
app_queue.c:3652: warning: passing argument 5 of ‘ast_say_number’ makes pointer from integer without a cast
[LD] app_queue.o -> app_queue.so
+--------- Asterisk Build Complete ---------+
#
ffossard
23/11/2010, 17h35
Et toujours pas de prise en compte du 'f':
Playing 'digits/1.alaw' (language 'fr')
François t'a déjà réussi à le faire lire ce son ?
/*! \brief ast_say_number_full_fr: French syntax */
/* Extra sounds needed:
1F: feminin 'une'
et: 'and' */
static int ast_say_number_full_fr(struct ast_channel *chan, int num, const char *ints, const char *language, const char *options, int audiofd, int ctrlfd)
{
Et toujours pas de prise en compte du 'f':
Playing 'digits/1.alaw' (language 'fr')
François t'a déjà réussi à le faire lire ce son ?
Non, non, j'ai pas essayé, j'ai juste repondu a la question initiale en regardant le source. D'ailleurs, ca serait meme bien que cette modif soit en standard vu que les params ont ete , semble t'il ,choisis differents par langue.
Je n'utilise pas l'annonce de temps d'attente donc ca ne m'a jamais perturbé.
Ca me semble le plus simple et ca doit marcher d'apres le code. Peut etre le mauvais endroit d'appel qui a ete patché par rico mais je n'ai pas le temps d'aider plus et de debugger pour l'instant. En plus, je n'ai toujours pas recu la cotis de rico...:whistle:
Mais Rico va s'en sortir, j'en suis sur. ;)
Fastm3.
En plus, je n'ai toujours pas recu la cotis de rico...:whistle:
Ca va venir, désolé du retard mais je suis en plein déménagement en ce moment. J'essaye de faire ça dans la semaine
ffossard
23/11/2010, 18h26
Non, non, j'ai pas essayé, j'ai juste repondu a la question initiale en regardant le source. D'ailleurs, ca serait meme bien que cette modif soit en standard vu que les params ont ete , semble t'il ,choisis differents par langue.
Je n'utilise pas l'annonce de temps d'attente donc ca ne m'a jamais perturbé.
Ca me semble le plus simple et ca doit marcher d'apres le code. Peut etre le mauvais endroit d'appel qui a ete patché par rico mais je n'ai pas le temps d'aider plus et de debugger pour l'instant. En plus, je n'ai toujours pas recu la cotis de rico...:whistle:
Mais Rico va s'en sortir, j'en suis sur. ;)
Fastm3.
Ca n'est pas spécifique au Français, il y'a un bon nombre d'autres langues pour lesquelle c'est le même principe, c'est expliqué dans le say.c, c'est vrai qu'ils pourraient modifier le app_queue pour le faire automatiquement en fonction des spécificités de chaque langue, ça ne me semble pas un travail énorme.
Je suis sur le débogage, j'ai le temps en ce moment :tongue:
J'ai recompilé avec "f" au lieu de 'f' (quotes), et là... plus de warning !
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions, Inc. Tous droits réservés