Bonjour

reprise d'une ancienne question :

Comment fait on pour bien décomposer un numéro de téléphone ?
c'est à dire qu'on nous donne notre numéro par groupe de 2 chiffres.

"06 01 23 43 12" et non "0 6 0 1 2 3 4 3 1 2" et les faire jouer par les fichiers sonores déjà enregistré avec asterisk

en gros que l'on me dise votre numéro est le: zéro six, zéro un, vingt trois ....

Merci
Citation Envoyé par gouroutrash
Ca sera beaucoup plus simple avec say.conf :
Code:
[general]
mode=new
Ensuite lire le sample, c'est assez clair :
Avec freepbx, comment le forcer à utiliser say.conf et non la configuration habituelle ?

freepbx 2.7.8 + asterisk 1.6.2.6 installé depuis les sources

j'ai copier say.conf depuis say.conf.sample dans /etc/asterisk et il est bien parsé au reload, mais le numéro d'extension d'un parking par exemple est toujours prononcé 7 puis 1 malgré ma configuration [fr]

Code:
...
[Jul 28 14:39:12] VERBOSE[30291] loader.c: -- Reloading module 'codec_alaw.so' (A-law Coder/Decoder)
[Jul 28 14:39:12] VERBOSE[30291] loader.c: -- Reloading module 'cdr_addon_mysql.so' (MySQL CDR Backend)
[Jul 28 14:39:12] VERBOSE[30291] loader.c: -- Reloading module 'app_playback.so' (Sound File Playback Application)
[Jul 28 14:39:12] VERBOSE[30291] config.c: == Parsing '/etc/asterisk/say.conf': [Jul 28 14:39:12] VERBOSE[30291] config.c: == Found
[Jul 28 14:39:12] VERBOSE[30291] loader.c: -- Reloading module 'res_crypto.so' (Cryptographic Digital Signatures)
...

Code:
[Jul 28 14:39:21] VERBOSE[30297] features.c: == Parked SIP/2299-00000035 on 71 (lot default). Will timeout back to extension [from-internal] s, 1 in 45 seconds
[Jul 28 14:39:21] VERBOSE[30297] pbx.c: -- Added extension '71' priority 1 to parkedcalls (0x638e7f0)
[Jul 28 14:39:21] VERBOSE[30297] file.c: -- <SIP/2299-00000035> Playing 'digits/7.alaw' (language 'fr')
[Jul 28 14:39:22] VERBOSE[30297] file.c: -- <SIP/2299-00000035> Playing 'digits/1.alaw' (language 'fr')
[Jul 28 14:39:23] VERBOSE[30297] res_musiconhold.c: -- Started music on hold, class 'default', on SIP/2299-00000035
Code:
;
; language configuration
;

[general]
mode=new        ; method for playing numbers and dates
                ; old - using asterisk core function
                ; new - using this configuration file

(...)

[fr](date-base)
    _digit:[0-9] => digits/${SAY}
    _digit:[-] => letters/dash
    _digit:[*] => letters/star
    _digit:[@] => letters/at
    _digit:[0-9]. => num:${SAY}

    _[n]um:0. =>  digits/0, num:${SAY:1}
    _[n]um:X => digits/${SAY}
    _[n]um:1[1-9] => digits/${SAY}
    _[n]um:[2-6]1 => num:${SAY:0:1}0, digits/et, digits/${SAY:1}
    _[n]um:71 => num:60, digits/et, digits/11
    _[n]um:81 => num:80, digits/1
    _[n]um:[2-68][2-9] => num:${SAY:0:1}0, digits/${SAY:1}
    _[n]um:7[2-9] => num:60, num:1${SAY:1}
    _[n]um:9[1-9] => num:80, num:1${SAY:1}
    _[n]um:[1-9]0 => digits/${SAY}

    _[n]um:1XX => digits/hundred, num:${SAY:1}
    _[n]um:[2-9]XX => num:${SAY:0:1}, digits/hundred, num:${SAY:1}

    _[n]um:1XXX => digits/thousand, num:${SAY:1}
    _[n]um:[2-9]XXX => num:${SAY:0:1}, digits/thousand, num:${SAY:1}
    _[n]um:XXXXX => num:${SAY:0:2}, digits/thousand, num:${SAY:2}
    _[n]um:XXXXXX => num:${SAY:0:3}, digits/thousand, num:${SAY:3}

    _[n]um:XXXXXXX => num:${SAY:0:1}, digits/million, num:${SAY:1}
    _[n]um:XXXXXXXX => num:${SAY:0:2}, digits/million, num:${SAY:2}
    _[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/million, num:${SAY:3}

    _[n]um:XXXXXXXXXX => num:${SAY:0:1}, digits/billion, num:${SAY:1}
    _[n]um:XXXXXXXXXXX => num:${SAY:0:2}, digits/billion, num:${SAY:2}
    _[n]um:XXXXXXXXXXXX => num:${SAY:0:3}, digits/billion, num:${SAY:3}
en fait asterisk appelle

Code:
[Jul 28 16:08:19] VERBOSE[4063] pbx.c: -- Executing [*65@from-internal:8] SayDigits("SIP/2299-00000003", "2299") in new stack
comment lui faire utiliser SayNumbers au lieu de SayDigits par la configuration ?