[AsteriskBrasil] [Spam] RES:RES: Re: Áudio pt_BR no asterisk

Rodrigo Vian listas em porttaltecnologia.com.br
Terça Outubro 19 10:27:50 BRST 2010


Bom dia a todos..

Um esclarecimento sobre os áudios do asterisk....

O diretório padrão dos arquivos de sons do asterisk é:
"/var/lib/asterisk/sounds".

A linguagem padrão é "en" (English).

Dentro do diretório "/var/lib/asterisk/sounds" existe algumas subpastas
que formam a estrutura base dos sons, como segue:

sounds
|_ custom
|_ dictate
|_ digits
|_ letters
|_ phonetic

Para utilizar os asterisk em múltiplas linguages, deve ser criado o
diretório referente a essa linguagem no diretório padrão de sons. E
dentro do diretório da linguagem, toda a estrutura acima.

Um exemplo para sons em espanhol

mkdir
-p /var/lib/asterisk/sounds/es/{custom,dictate,digits,letters,phonetic} ; cria a estrutura para os sons em espanhol.

Outro exemplo para português do Brasil

mkdir
-p /var/lib/asterisk/sounds/br/{custom,dictate,digits,letters,phonetic}

Vejam que utilizei br e não pt_BR... Não importa a sigla que você
utilize, desde que no ramal utilize a correta...

Não esqueçam das permissões!!!!!


FORMATO DE ÃUDIO (gsm, wav, alaw, ulaw, g729, etc)

Para o asterisk não importa a extensão do arquivo. Se o arquivo existir
no formato do codec do ramal, ele vai executar ele, caso contrário, o
asterisk faz a transcodificação para que o áudio seja ouvido
corretamente.

Exemplo:

tenho o seguinte dialplan: exten => 9,1,Playback(your), e o ramal com
apenas o codec alaw habilitado e existe apenas o arquivo your.gsm dentro
da sua linguagem.

Ao digitar 9, o asterisk vai tentar encontrar o arquivo "your.alaw".
Como somente existe o arquivo "your.gsm", o asterisk faz a
transcodificação para alaw.

Por isso ao acompanhar uma chamada, você sempre verá algo do tipo:
-- Executing [*65 em from-internal:4] Playback("SIP/2001-00000049", "your")
in new stack

Reparem que a extensão não é mostrada... :)




Porque ocorre mistura de áudios?

Vamos supor que você determinou que a linguagem do ramal é pt_BR e você
quer falar o nome a extensão através da facildiade *65 (tomando como
exemplo o caso do nosso amigo)

O contexto dentro do extensions.conf é o seguinte:

[app-speakextennum]
exten => *65,1,Answer
exten => *65,n,Wait(1)
exten => *65,n,Macro(user-callerid,)
exten => *65,n,Playback(your)
exten => *65,n,Playback(extension)
exten => *65,n,Playback(number)
exten => *65,n,Playback(is)
exten => *65,n,SayDigits(${AMPUSER}) ; Dentro do FreePBX (Elastix)
${AMPUSER} refere-se ao ramal que digitou essa facilidade
exten => *65,n,Wait(2)
exten => *65,n,Hangup

Vamos depurar a chamada...

========== Depuração ==========

    -- Executing [*65 em from-internal:1] Answer("SIP/2001-00000049", "")
in new stack
    -- Executing [*65 em from-internal:2] Wait("SIP/2001-00000049", "1") in
new stack
    -- Executing [*65 em from-internal:3] Macro("SIP/2001-00000049",
"user-callerid|") in new stack
    -- Executing [s em macro-user-callerid:1] Set("SIP/2001-00000049",
"AMPUSER=2001") in new stack
    -- Executing [s em macro-user-callerid:2] GotoIf("SIP/2001-00000049",
"0?report") in new stack
    -- Executing [s em macro-user-callerid:3] ExecIf("SIP/2001-00000049",
"1|Set|REALCALLERIDNUM=2001") in new stack
    -- Executing [s em macro-user-callerid:4] Set("SIP/2001-00000049",
"AMPUSER=2001") in new stack
    -- Executing [s em macro-user-callerid:5] Set("SIP/2001-00000049",
"AMPUSERCIDNAME=Vian") in new stack
    -- Executing [s em macro-user-callerid:6] GotoIf("SIP/2001-00000049",
"0?report") in new stack
    -- Executing [s em macro-user-callerid:7] Set("SIP/2001-00000049",
"AMPUSERCID=2001") in new stack
    -- Executing [s em macro-user-callerid:8] Set("SIP/2001-00000049",
"CALLERID(all)="Vian" <2001>") in new stack
    -- Executing [s em macro-user-callerid:9] ExecIf("SIP/2001-00000049",
"1|Set|CHANNEL(language)=pt_BR") in new stack
    -- Executing [s em macro-user-callerid:10] GotoIf("SIP/2001-00000049",
"0?continue") in new stack
    -- Executing [s em macro-user-callerid:11] Set("SIP/2001-00000049",
"__TTL=64") in new stack
    -- Executing [s em macro-user-callerid:12] GotoIf("SIP/2001-00000049",
"1?continue") in new stack
    -- Goto (macro-user-callerid,s,19)
    -- Executing [s em macro-user-callerid:19] NoOp("SIP/2001-00000049",
"Using CallerID "Vian" <2001>") in new stack
    -- Executing [*65 em from-internal:4] Playback("SIP/2001-00000049",
"your") in new stack
    -- <SIP/2001-00000049> Playing 'your' (language 'pt_BR')
    -- Executing [*65 em from-internal:5] Playback("SIP/2001-00000049",
"extension") in new stack
    -- <SIP/2001-00000049> Playing 'extension' (language 'pt_BR')
    -- Executing [*65 em from-internal:6] Playback("SIP/2001-00000049",
"number") in new stack
    -- <SIP/2001-00000049> Playing 'number' (language 'pt_BR')
    -- Executing [*65 em from-internal:7] Playback("SIP/2001-00000049",
"is") in new stack
    -- <SIP/2001-00000049> Playing 'is' (language 'pt_BR')
    -- Executing [*65 em from-internal:8] SayDigits("SIP/2001-00000049",
"2001") in new stack
    -- <SIP/2001-00000049> Playing 'digits/2' (language 'pt_BR')
    -- <SIP/2001-00000049> Playing 'digits/0' (language 'pt_BR')
    -- <SIP/2001-00000049> Playing 'digits/0' (language 'pt_BR')
    -- <SIP/2001-00000049> Playing 'digits/1' (language 'pt_BR')
    -- Executing [*65 em from-internal:9] Wait("SIP/2001-00000049", "2") in
new stack
    -- Executing [*65 em from-internal:10] Hangup("SIP/2001-00000049", "")
in new stack
  == Spawn extension (from-internal, *65, 10) exited non-zero on
'SIP/2001-00000049'
    -- Executing [h em from-internal:1] Macro("SIP/2001-00000049",
"hangupcall") in new stack
    -- Executing [s em macro-hangupcall:1] GotoIf("SIP/2001-00000049",
"1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,4)
    -- Executing [s em macro-hangupcall:4] GotoIf("SIP/2001-00000049",
"1?skipblkvm") in new stack
    -- Goto (macro-hangupcall,s,7)
    -- Executing [s em macro-hangupcall:7] GotoIf("SIP/2001-00000049",
"1?theend") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing [s em macro-hangupcall:9] Hangup("SIP/2001-00000049", "")
in new stack
  == Spawn extension (macro-hangupcall, s, 9) exited non-zero on
'SIP/2001-00000049' in macro 'hangupcall'
  == Spawn extension (from-internal, h, 1) exited non-zero on
'SIP/2001-00000049'

========== Fim Depuração ==========

Onde está em vermelho o áudio saiu inglês e em azul o áudio em
português, porém reparem que a linguagem determinada foi a correta,
'pt_BR'.

Então porque o áudio não saiu em português? Vamos analisar o bloco dos
áudios....


    -- Executing [*65 em from-internal:4] Playback("SIP/2001-00000049",
"your") in new stack
    -- <SIP/2001-00000049> Playing 'your' (language 'pt_BR') - Ele
tentou executar o arquivo "your" dentro
de /var/lib/asterisk/sounds/pt_BR, porém não encontrou ,então ele vai
executar a linguagem padrão do asterisk, no caso, 'en'
em /var/lib/asterisk/sounds.

    -- Executing [*65 em from-internal:5] Playback("SIP/2001-00000049",
"extension") in new stack
    -- <SIP/2001-00000049> Playing 'extension' (language 'pt_BR') - Ele
tentou executar o arquivo "extension" dentro
de /var/lib/asterisk/sounds/pt_BR, porém não encontrou ,então ele vai
executar a linguagem padrão do asterisk, no caso, 'en'
em /var/lib/asterisk/sounds.

    -- Executing [*65 em from-internal:6] Playback("SIP/2001-00000049",
"number") in new stack
    -- <SIP/2001-00000049> Playing 'number' (language 'pt_BR') - aqui
ele encontrou o áudio em /var/lib/asterisk/sounds/pt_BR

    -- Executing [*65 em from-internal:7] Playback("SIP/2001-00000049",
"is") in new stack
    -- <SIP/2001-00000049> Playing 'is' (language 'pt_BR') - aqui ele
encontrou o áudio em /var/lib/asterisk/sounds/pt_BR

    -- Executing [*65 em from-internal:8] SayDigits("SIP/2001-00000049",
"2001") in new stack
    -- <SIP/2001-00000049> Playing 'digits/2' (language 'pt_BR') - Ele
tentou executar o arquivo "2" dentro
de /var/lib/asterisk/sounds/pt_BR/digits, porém não encontrou ,então ele
vai executar a linguagem padrão do asterisk, no caso, 'en'
em /var/lib/asterisk/sounds/digits.
    -- <SIP/2001-00000049> Playing 'digits/0' (language 'pt_BR') - Ele
tentou executar o arquivo "0" dentro
de /var/lib/asterisk/sounds/pt_BR/digits, porém não encontrou ,então ele
vai executar a linguagem padrão do asterisk, no caso, 'en'
em /var/lib/asterisk/sounds/digits.
    -- <SIP/2001-00000049> Playing 'digits/0' (language 'pt_BR') - Ele
tentou executar o arquivo "0" dentro
de /var/lib/asterisk/sounds/pt_BR/digits, porém não encontrou ,então ele
vai executar a linguagem padrão do asterisk, no caso, 'en'
em /var/lib/asterisk/sounds/digits.
    -- <SIP/2001-00000049> Playing 'digits/1' (language 'pt_BR') - Ele
tentou executar o arquivo "1" dentro
de /var/lib/asterisk/sounds/pt_BR/digits, porém não encontrou ,então ele
vai executar a linguagem padrão do asterisk, no caso, 'en'
em /var/lib/asterisk/sounds/digits.


Solução: Colocar os referentes arquivos traduzidos no diretório correto.



Bom pessoal, espero que possa ter esclarecido algumas dúvidas...

[S]




-------- Mensagem original --------
De: Milton T Silva <miltont1 em terra.com.br>
Responder a: asteriskbrasil em listas.asteriskbrasil.org
Para: asteriskbrasil em listas.asteriskbrasil.org
Assunto: Re: [AsteriskBrasil] [Spam] RES:RES: Re: Ãudio pt_BR no
asterisk
Data: Tue, 19 Oct 2010 05:45:10 -0200


O problema e que nem todos arquivos estão traduzidos,
ou alguns esta em gsm, ai confunde,
preciso estudar melhor o problema e depois respondo para vc, se resolver 
publique aqui a solução.
Abraços,

----- Original Message ----- 
From: "Oswaldo Galdino de Aguiar Junior" <oswaldojr em multtectelecom.com.br>
To: <asteriskbrasil em listas.asteriskbrasil.org>
Sent: Monday, October 18, 2010 9:07 PM
Subject: [Spam] [AsteriskBrasil] RES:RES: Re: Ãudio pt_BR no asterisk



Consegui fazer os audios rodarem Milton, meu problema agora é que o asterisk
esta misturando o áudio, ele não esta puro pt_BR.
Ele esta assom: Quando dou o comando no telefone *65 para verificar o numero
do ramal ele responde: Your extension "numro é" two X X X.

Ele mistura o áudio em com o pt_BR, gostaria de deixar ele só pt_BR.

Meu asterisk é: Elastix 1.6.2-7
Freepbx: 2.5.2.2

Agradeço a atenção.

Aguardo.
------------------------------

Message: 4
Date: Mon, 18 Oct 2010 18:18:49 -0200
From: "Milton T Silva" <miltont1 em terra.com.br>
Subject: Re: [AsteriskBrasil] [Spam] Re:  Ãudio pt_BR no asterisk
To: <asteriskbrasil em listas.asteriskbrasil.org>
Cc: oswaldojr em multtectelecom.com.br
Message-ID: <E1E154B7C314440EB4447C5B2F1EDE27 em flexinet9c101b>
Content-Type: text/plain; format=flowed; charset="iso-8859-1";
reply-type=original

Tive este problema com a versão nova do freepbx.  2.8.x.x
Resolvi colocando em todos ramais em Language Code = pt_BR a opção por
defalt e vazio.
Espero ter ajudado.
Milton.


----- Original Message ----- 
From: "Oswaldo Galdino de Aguiar Junior" <oswaldojr em multtectelecom.com.br>
To: <asteriskbrasil em listas.asteriskbrasil.org>
Sent: Monday, October 18, 2010 12:33 PM
Subject: [Spam] Re: [AsteriskBrasil] Ãudio pt_BR no asterisk


Tentei e tbem não deu certo, o estranho é que em uma maquina virtual com o
elastix 2.0 funfa sem problemas.

Como faço para substituir o áudio padrão do asterisk que é em para pt_BR?

Agradeço a atenção.

Aguardo.

------------------------------

Message: 3
Date: Mon, 18 Oct 2010 12:00:44 -0200
From: Thiago Bruni Tawil <stomaz.fei em gmail.com>
Subject: Re: [AsteriskBrasil] Ãudio pt_BR no asterisk
To: asteriskbrasil em listas.asteriskbrasil.org
Message-ID:
<AANLkTimpqniupEveXcJoUyAcS9JJ+S=rm9qGZNdiZKWv em mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"

a padrão  é a en, se vc substituir deve funcionar também, mas antes
experimenta dentro do sip.conf, na configuração de cada usuário colocar a
opção LANGUAGE=pt_BR

Abraços.

Em 18 de outubro de 2010 12:12, Oswaldo Galdino de Aguiar Junior <
oswaldojr em multtectelecom.com.br> escreveu:

> Tentei language pt_BR e tbem não deu certo.
>
> Procurei a pasta de dentro do diretório sounds e a encontrei com pt_BR,
TEM
> COMO SUBSTITUIR  A SOUNDS PADRÃO POR ELA?
>
> Agradeço a atenção.
>
> Agaurdo.
>
>



_______________________________________________
KHOMP: qualidade em placas de E1, GSM, FXS e FXO para Asterisk.
- Hardware com alta disponibilidade de recursos e qualidade KHOMP
- Suporte técnico local qualificado e gratuito
Conheça a linha completa de produtos KHOMP em www.khomp.com.br
_______________________________________________
Temos tudo para seu projeto VoIP com Asterisk!
Descontos especiais para assinantes da AsteriskBrasil.org.
Registre-se e receba um cupom exclusivo de desconto!
Acesse agora www.voipmania.com.br
______________________________________________
Lista de discussões AsteriskBrasil.org
AsteriskBrasil em listas.asteriskbrasil.org
http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
______________________________________________
Para remover seu email desta lista, basta enviar um email em branco para 
asteriskbrasil-unsubscribe em listas.asteriskbrasil.org

E-mail verificado pelo Terra Anti-Spam.
Para classificar esta mensagem como spam ou não spam, visite
http://ecp.terra.com.br/cgi-bin/reportspam.cgi?+_d=UyYzOTg0ODYwI3Blcm0hdGVycmEmMSwxMjg3NDQzODU3LjczMzYwMC4xMzUzMi4xZjcudHBuLnRlcnJhLmNvbSw2OTM4TerraMail
Verifique periodicamente a pasta Spam para garantir que apenas mensagens
indesejadas sejam classificadas como Spam.


_______________________________________________
KHOMP: qualidade em placas de E1, GSM, FXS e FXO para Asterisk. 
- Hardware com alta disponibilidade de recursos e qualidade KHOMP
- Suporte técnico local qualificado e gratuito 
Conheça a linha completa de produtos KHOMP em www.khomp.com.br
_______________________________________________
Temos tudo para seu projeto VoIP com Asterisk!
Descontos especiais para assinantes da AsteriskBrasil.org.
Registre-se e receba um cupom exclusivo de desconto!
Acesse agora www.voipmania.com.br
______________________________________________
Lista de discussões AsteriskBrasil.org
AsteriskBrasil em listas.asteriskbrasil.org
http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
______________________________________________
Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20101019/c21801d9/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil