[AsteriskBrasil] Asterisk+ldap

Weder Prado weder.prado em gmail.com
Quinta Novembro 6 18:20:02 BRST 2008


Boa tarde lista,
Paulo sei como é esse negócio de mulher, bem complicado mesmo, mas vou
continuar postando o script aqui pra lista acompanhar o andamento das
coisas.
Preciso de algo simples, esse script na verdade vai ser provisório, minha
intenção é implementar o asterisk aqui na empresa e depois migrar a
plataforma para o asterisk com mysql e gerenciamento com o freepbx, por
enquando só tá o básico mesmo.

Bom melhorei o script fazendo a consulta no meu ad, verificando se a o ramal
que ira fazer a ligação existe e se a conta no ad está habilitada. Olha como
está agora:

#!/bin/sh

RAMAL_SIP=$agi_callerid
USERDISABLE=514

#declare -a array
while read -e ARG && [ "$ARG" ] ; do
        array=(` echo $ARG | sed -e 's/://'`)
        #echo $ARG >> $tempfile
        export ${array[0]}=${array[1]}
done


RAMAL=`/usr/bin/ldapsearch -x -LLL -E pr=200/noprompt -h 172.33.16.17 -D
"user_do_ad" -w "senha_do_ad" -b "OU=User,OU=Gonow,DC=gonow,DC=intranet"
"(ipPhone=$RAMAL_SIP)" | grep ipPhone | awk '{print $2}'`


# Verifica se a variavel $RAMAL foi preenchida (ramal existe ou nao)
        if [ ! -z $RAMAL ]; then
        # Caso o ramal exista entao é feita uma checagem se a conta esta
habilitada filtrando a o atrbuto userAccountControl do LDAP
        USUAR=`/usr/bin/ldapsearch -x -LLL -E pr=200/noprompt -h
172.33.16.17 -D "user_ad" -w "senha_ad" -b
"OU=User,OU=Gonow,DC=gonow,DC=intranet" "(ipPhone=$RAMAL)" | grep
userAccountControl | awk '{print $2}'`
                if [ $USUAR -ne $USERDISABLE ]; then
                        # Se o usuario existe no LDAP e a conta estiver
habilitada então ele completa a ligação com os comando abaixo:
                        echo "exec dial (SIP/3002|5)"
                        #asterisk - rx "Hangup"
                        #exit 0; >> /tmp/log-agi.txt
                # Se a conta existir e não foi habilitada
                else
                echo "Conta desabilitada no Active Directory"
                fi
        # Cai nesse else caso o usuário não exista no Active directory
        else
                echo "O usuario nao existe"
fi

Só estou com problema para fazer o agi executar a ligação, tentei usar o
asterisk - rx com dial e também não rolou, no voip-info fala que posso usuar
a variavel AGISTATUS mas não entendi o funcinamento.
Alguem poderia me ajudar na parte pra executar a ligação dentro do script?

No aguardo,
Weder

2008/11/6 paulo leonardo <p4t1t0 em gmail.com>

> Ola Weder,
>
> dependendo da sua solução eu usaria linguagens como python ou ruby, algo
> que pode ser pensado é a utilização de um banco de dados ao invés de um
> arquivo txt. As vezes fico um tempão sem entrar na lista porque minha muieh
> mora comigo agora, me ferrei, hahahah, dai ja viu tudo neh, dai você pode
> entrar em contato comigo enviando a duvida diretamente para o meu e-mail.
>
>
> abraços
> tudo nosso
>
> 2008/11/5 Weder Prado <weder.prado em gmail.com>
>
> Olá Paulo,
>> Consegui essas informações depois, o agi realmente passa o callerid e seu
>> script também a usa. A instalação do asterisk em realtime (com mysql) tem
>> suporte ao ldap, mas no momento ainda não uso essa solução então precisaria
>> resolver meu problema com agi. Estou com um pouco de dificuldades pra fazer
>> funcionar, vou ir um pouco mais a fundo no assunto e caso eu não consigo vou
>> reportar a lista novamente.
>>
>> Obrigado,
>> Weder
>>
>> 2008/11/5 paulo leonardo <p4t1t0 em gmail.com>
>>
>>  Ola Weder,
>>>
>>> faz um bom tempo que brinquei com AGI e não fui muito a fundo, mas tenho
>>> quase certeza que você tem acesso ao callerID através de AGI, através de
>>> "palavras reservadas", ou seja você consegue esta informação sem nenhum
>>> problema, inclusive acho que usei isto no meu shell script, de uma olhadinha
>>> nele.
>>>
>>> Outro ponto importante é onde esta sua solução será utilizada, eu não
>>> trabalho com asterisk, mas você ja pesquisou se não existe módulos prontos
>>> para conectar com ldap, ou fazer esta sua soluçao com banco de dados, de
>>> forma mais "robusta".
>>>
>>> abraços!!
>>>
>>> 2008/10/30 Weder Prado <weder.prado em gmail.com>
>>>
>>>  Boa noite Paulo e lista que tem me ajudado,
>>>> Estou montando um script com um colega de trabalho e estamos trabalhando
>>>> com a seguinte sintaxe, teremos uma lista.txt com o ramal sip e login do ad
>>>> de cada usuario, ou seja, um ramal para cada usuário. Quando o usuário
>>>> tentar fazer a ligação vou mandar o script checar o ad e comparar por
>>>> exemplo se o ramal 3001 pertence ao usuário weder que está cadastrado na
>>>> lista.txt e se for ok ele ira fazer a ligação, caso contrário vem a mensagem
>>>> de que não está logado na rede.
>>>>
>>>> Minhas dúvidas são:
>>>> Na hora de executar o script no plano de discagem posso passar a
>>>> variavel callerid como parametro do script? como por exemplo:
>>>> [contexto-vida-loca]
>>>> exten => _7XX,1,AGI(nome-do-script ${CALLERID)
>>>>
>>>> Outra coisa, tem como dentro do plano de discagem eu criar uma espécie
>>>> de if, tipo se executou o script e teve a resposta OK "usuário e ramal da
>>>> lista.txt equivale a usuário e ramal do ad" ele vai para a linha de baixo
>>>> que irá fazer o dial? Ou depois que o asterisk manda a ligação para o script
>>>> tenho que tratar tudo lah?
>>>> Caso alguem da lista tenha sugestões estamos totalmente abertos, porque
>>>> a idéia é divulgar isso como dica posteriormente :-)
>>>>
>>>> No aguardo,
>>>> Weder
>>>>
>>>>
>>>> 2008/10/28 paulo leonardo <p4t1t0 em gmail.com>
>>>>
>>>>> [contexto-vida-loca]
>>>>> exten => _7XX,1,AGI(nome-do-script)
>>>>>
>>>>>
>>>>> 2008/10/27 Weder Prado <weder.prado em gmail.com>
>>>>>
>>>>>> Olá Paulo,
>>>>>> Obrigado pela explicação, com certeza o script está bem simples e não
>>>>>> é adequado para produção, eu programo em shell e tenho o básico de ldap.
>>>>>> Pretendo melhora-lo e depois publicar para lista o que foi feito, poderia me
>>>>>> dar um exemplo bem simples de como aplicar esse script dentro do dialplan?
>>>>>> Por exemplo um usuário fazendo uma ligação local exigindo a execução e
>>>>>> confirmação do script.
>>>>>>
>>>>>> No aguardo,
>>>>>> Weder Prado
>>>>>>
>>>>>> 2008/10/27 paulo leonardo <p4t1t0 em gmail.com>
>>>>>>
>>>>>> Ola Weder,
>>>>>>>
>>>>>>> essa solução não sei se é a mais adequada, é utilizado AGI que chama
>>>>>>> um script em shell, que faz uma pesquisa em uma base ldap e verifica se o
>>>>>>> usuario esta na base ou nao, caso o usuário esteja previamente cadastrado no
>>>>>>> LDAP ele esta liberado para fazer chamadas, caso contrário ele é barrado, se
>>>>>>> for utilizar esta maneira será necessário melhorar o script, isso foi
>>>>>>> utilizado para ambiente de testes e não para produção.
>>>>>>>
>>>>>>> []'s
>>>>>>>
>>>>>>> 2008/10/27 Weder Prado <weder.prado em gmail.com>
>>>>>>>
>>>>>>> Boa noite Alexandre,
>>>>>>>> Achei legal sua dica, mas não gostaria de fazer nenhuma alteração na
>>>>>>>> minha base ldap, quero uma solução mais simples para o problema. Vi esse
>>>>>>>> artigo http://www.asteriskexperts.com.br/content/view/208/32/ e
>>>>>>>> achei interessante a forma que foi aplicado a autenticação usando agi para
>>>>>>>> executar um script em perl.
>>>>>>>> Estou estudando essa parte no asterisk e vi que dá pra fazer muita
>>>>>>>> coisa fazendo outros programas interagirem com ele, alguem poderia me ajudar
>>>>>>>> a entender como aplicar esse script no dialplan?
>>>>>>>>
>>>>>>>> No aguardo,
>>>>>>>> Weder
>>>>>>>>
>>>>>>>> 2008/10/24 Alexandre Cavalcante Alencar <
>>>>>>>> alexandre.alencar em gmail.com>
>>>>>>>>
>>>>>>>> Olá, boa noite,
>>>>>>>>>
>>>>>>>>> Tenho uma nota antiga com informações e links sobre isso. Não sei
>>>>>>>>> se vai funcionar como desejas (usando a HASH NTLMv2 da senha do usuário).
>>>>>>>>> Você vai precisar modificar o Schema do AD DS para caberem os atributos
>>>>>>>>> (verifica se eles já não existem ou a possibilidade de mapear os nomes dos
>>>>>>>>> atributos).
>>>>>>>>>
>>>>>>>>> SIP Account Info as LDAP Attributes
>>>>>>>>>
>>>>>>>>> H.350.4 SIP LDAP ITU-T
>>>>>>>>>
>>>>>>>>> ObjectClass SIPIdentity
>>>>>>>>> Attribute SIPIdentityURI
>>>>>>>>> Attribute SIPIdentityPassword
>>>>>>>>>
>>>>>>>>> O campo SIPIdentityPassword precisa ser preenchido com a saída de:
>>>>>>>>>
>>>>>>>>> echo -n 'user:domain:pass' | md5sum
>>>>>>>>>
>>>>>>>>> http://www.openldap.org
>>>>>>>>> http://www.freeradius.org
>>>>>>>>> http://www.openser.org
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Fri, Oct 24, 2008 at 6:10 PM, Weder Prado <
>>>>>>>>> weder.prado em gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> Pessoal,
>>>>>>>>>> Estou um pouco confuso para entender como funciona essa
>>>>>>>>>> configuração, parece que isso funciona com asterisk funcionando realtime.
>>>>>>>>>> Hoje eu tenho uma base ldap no Active Directory e gostaria que
>>>>>>>>>> configurar os softfones com a mesma senha da rede. Alguém poderia me dar o
>>>>>>>>>> caminho das pedras pra eu saber como implementar isso? Alguem ja implementou
>>>>>>>>>> e tem isso funcionando?
>>>>>>>>>>
>>>>>>>>>> No aguardo,
>>>>>>>>>> Weder Prado
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> 2 a 4 de Dezembro - IPComm 2008
>>>>>>>>>> Com presença de engenheiros da Digium e Jon "maddog" Hall.
>>>>>>>>>> http://www.ipcomm2008.com.br
>>>>>>>>>>
>>>>>>>>>> Compre uma camiseta da AsteriskBrasil.org!
>>>>>>>>>> http://www.voipmania.com.br
>>>>>>>>>>
>>>>>>>>>> Acesse o canal IRC de discussão sobre Asterisk em Português
>>>>>>>>>> Brasileiro na rede Freenode.net: #asterisk-br
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Lista de discussões AsteriskBrasil.org
>>>>>>>>>> AsteriskBrasil em listas.asteriskbrasil.org
>>>>>>>>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Alexandre C Alencar (Skarmeth)
>>>>>>>>> http://blog.alexandrealencar.net/
>>>>>>>>> http://www.alexandrealencar.net/
>>>>>>>>> http://people.debian-ce.org/skarmeth/
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> 2 a 4 de Dezembro - IPComm 2008
>>>>>>>>> Com presença de engenheiros da Digium e Jon "maddog" Hall.
>>>>>>>>> http://www.ipcomm2008.com.br
>>>>>>>>>
>>>>>>>>> Compre uma camiseta da AsteriskBrasil.org!
>>>>>>>>> http://www.voipmania.com.br
>>>>>>>>>
>>>>>>>>> Acesse o canal IRC de discussão sobre Asterisk em Português
>>>>>>>>> Brasileiro na rede Freenode.net: #asterisk-br
>>>>>>>>> _______________________________________________
>>>>>>>>> Lista de discussões AsteriskBrasil.org
>>>>>>>>> AsteriskBrasil em listas.asteriskbrasil.org
>>>>>>>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> 2 a 4 de Dezembro - IPComm 2008
>>>>>>>> Com presença de engenheiros da Digium e Jon "maddog" Hall.
>>>>>>>> http://www.ipcomm2008.com.br
>>>>>>>>
>>>>>>>> Compre uma camiseta da AsteriskBrasil.org!
>>>>>>>> http://www.voipmania.com.br
>>>>>>>>
>>>>>>>> Acesse o canal IRC de discussão sobre Asterisk em Português
>>>>>>>> Brasileiro na rede Freenode.net: #asterisk-br
>>>>>>>> _______________________________________________
>>>>>>>> Lista de discussões AsteriskBrasil.org
>>>>>>>> AsteriskBrasil em listas.asteriskbrasil.org
>>>>>>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> 2 a 4 de Dezembro - IPComm 2008
>>>>>>> Com presença de engenheiros da Digium e Jon "maddog" Hall.
>>>>>>> http://www.ipcomm2008.com.br
>>>>>>>
>>>>>>> Compre uma camiseta da AsteriskBrasil.org!
>>>>>>> http://www.voipmania.com.br
>>>>>>>
>>>>>>> Acesse o canal IRC de discussão sobre Asterisk em Português
>>>>>>> Brasileiro na rede Freenode.net: #asterisk-br
>>>>>>> _______________________________________________
>>>>>>> Lista de discussões AsteriskBrasil.org
>>>>>>> AsteriskBrasil em listas.asteriskbrasil.org
>>>>>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> 2 a 4 de Dezembro - IPComm 2008
>>>>>> Com presença de engenheiros da Digium e Jon "maddog" Hall.
>>>>>> http://www.ipcomm2008.com.br
>>>>>>
>>>>>> Compre uma camiseta da AsteriskBrasil.org!
>>>>>> http://www.voipmania.com.br
>>>>>>
>>>>>> Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro
>>>>>> na rede Freenode.net: #asterisk-br
>>>>>> _______________________________________________
>>>>>> Lista de discussões AsteriskBrasil.org
>>>>>> AsteriskBrasil em listas.asteriskbrasil.org
>>>>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> 2 a 4 de Dezembro - IPComm 2008
>>>>> Com presença de engenheiros da Digium e Jon "maddog" Hall.
>>>>> http://www.ipcomm2008.com.br
>>>>>
>>>>> Compre uma camiseta da AsteriskBrasil.org!
>>>>> http://www.voipmania.com.br
>>>>>
>>>>> Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro
>>>>> na rede Freenode.net: #asterisk-br
>>>>> _______________________________________________
>>>>> Lista de discussões AsteriskBrasil.org
>>>>> AsteriskBrasil em listas.asteriskbrasil.org
>>>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> 2 a 4 de Dezembro - IPComm 2008
>>>> Com presença de engenheiros da Digium e Jon "maddog" Hall.
>>>> http://www.ipcomm2008.com.br
>>>>
>>>> Compre uma camiseta da AsteriskBrasil.org!
>>>> http://www.voipmania.com.br
>>>>
>>>> Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro
>>>> na rede Freenode.net: #asterisk-br
>>>> _______________________________________________
>>>> Lista de discussões AsteriskBrasil.org
>>>> AsteriskBrasil em listas.asteriskbrasil.org
>>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>
>>>
>>>
>>> _______________________________________________
>>> 2 a 4 de Dezembro - IPComm 2008
>>> Com presença de engenheiros da Digium e Jon "maddog" Hall.
>>> http://www.ipcomm2008.com.br
>>>
>>> Compre uma camiseta da AsteriskBrasil.org!
>>> http://www.voipmania.com.br
>>>
>>> Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na
>>> rede Freenode.net: #asterisk-br
>>> _______________________________________________
>>> Lista de discussões AsteriskBrasil.org
>>> AsteriskBrasil em listas.asteriskbrasil.org
>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>
>>
>>
>> _______________________________________________
>> 2 a 4 de Dezembro - IPComm 2008
>> Com presença de engenheiros da Digium e Jon "maddog" Hall.
>> http://www.ipcomm2008.com.br
>>
>> Compre uma camiseta da AsteriskBrasil.org!
>> http://www.voipmania.com.br
>>
>> Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na
>> rede Freenode.net: #asterisk-br
>> _______________________________________________
>> Lista de discussões AsteriskBrasil.org
>> AsteriskBrasil em listas.asteriskbrasil.org
>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>
>
>
> _______________________________________________
> 2 a 4 de Dezembro - IPComm 2008
> Com presença de engenheiros da Digium e Jon "maddog" Hall.
> http://www.ipcomm2008.com.br
>
> Compre uma camiseta da AsteriskBrasil.org!
> http://www.voipmania.com.br
>
> Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na
> rede Freenode.net: #asterisk-br
> _______________________________________________
> Lista de discussões AsteriskBrasil.org
> AsteriskBrasil em listas.asteriskbrasil.org
> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20081106/1b492553/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil