PDA

Voir la version complète : Fax2mail - Asterisk 1.8.x - MySQL



barto95
08/11/2011, 21h16
bonsoir a tous,

voila j'ai un petit souci avec le fax to mail accoupler a une base Mysql

mon asterisk 1.8.7.1 dialogue bien avec ma base de donnée mysql et il et bien enregistrer chez mon provider :

enregistrement au pret du provider :

Server-Fax*CLI> sip show registry
Host--------------dnsmg-----Username-------Refresh State--------Reg.Time
Provider:5060--------N ---------login---------105 Registered--------Tue, 08 Nov 2011 19:53:46
1 SIP registrations.


dialogue avec la base mysql :

Server-Fax*CLI> realtime mysql status
general connected to general@127.0.0.1, port 3306 with username root for 1 hours, 15 minutes.

mon fichier extconfig.conf :

sipusers => mysql,general,sip
sippeers => mysql,general,sip
extensions=> mysql,general,extensions


mon fichier res_config_mysql.conf :
[general]
dbhost = 127.0.0.1
dbname = general (nom de la base mysql)
dbuser = root (login server mysql)
dbpass = fax2mail (mdp mysql)
dbport = 3306
dbsock = /var/run/mysqld/mysqld.sock

mon fichier extensions.conf :


[general]
autofallthrough =yes
static =yes
writeprotect =no
context =default
language =fr
disallow =all
allow =alaw
allow =t38

[default]
switch => Realtime/@extensions


mon fichier sip.conf :
[general]
language =fr
port =5060
disallow =all
allow =alaw
externip = mon-adresse-ip-public
localnet =192.168.1.10/255.255.255.0
canreinvite =yes
t38pt_udptl =yes, redundancy
faxdetect =yes
t38pt_udptl =yes
rtcachefriends =yes

register =login:motdepasse@provider

switch => Realtime/@


et voici une capture d'ecran de ma base de donnée mysql :
Cliquez ici pour voir mon image (http://www.hebergeur-images.fr/image-843740598.html)


ici le CLI de asterisk pendant la reception d'un fax :
== Using UDPTL CoS mark 5
== Using SIP RTP CoS mark 5
-- Executing [01xxxxxxxx@default:1] NoOp("SIP/monprovider-0000000a", "Fax2mail")
-- Executing [01xxxxxxxx@default:2] NoOp("SIP/monprovider-0000000a", "**** FAX RECEIVED from 1XXXXXXXX Tue Nov 8 19:36:36 2011 ****")
-- Executing [01xxxxxxxx@default:3] Set("SIP/monprovider-0000000a", "FAXOPT(ecm)=yes")
-- Executing [01xxxxxxxx@default:4] Set("SIP/monprovider-0000000a", "FILENAME=fax-2011.11.08-19.36.36-01xxxxxxxx")
-- Executing [01xxxxxxxx@default:5] Set("SIP/monprovider-0000000a", "FAXFILE=fax-2011.11.08-19.36.36-01xxxxxxxx.tif")
-- Executing [01xxxxxxxx@default:6] Set("SIP/monprovider-0000000a", "FAXFILEPDF=/var/spool/asterisk/fax/fax-2011.11.08-19.36.36-01xxxxxxxx.pdf")
-- Executing [01xxxxxxxx@default:7] Set("SIP/monprovider-0000000a", "FAXOPT(headerinfo)=Received by MYCOMPANY 2011-11-08 19:36")
-- Executing [01xxxxxxxx@default:8] Set("SIP/monprovider-0000000a", "FAXOPT(maxrate)=14400")
-- Executing [01xxxxxxxx@default:9] Set("SIP/monprovider-0000000a", "FAXOPT(minrate)=2400")
-- Executing [01xxxxxxxx@default:10] NoOp("SIP/monprovider-0000000a", "FAXOPT(ecm) : yes)")
-- Executing [01xxxxxxxx@default:11] NoOp("SIP/monprovider-0000000a", "FAXOPT(headerinfo) : Received by MYCOMPANY 2011-11-08 19:36")
-- Executing [01xxxxxxxx@default:12] NoOp("SIP/monprovider-0000000a", "FAXOPT(localstationid) : ")
-- Executing [01xxxxxxxx@default:13] NoOp("SIP/monprovider-0000000a", "FAXOPT(maxrate) : 14400")
-- Executing [01xxxxxxxx@default:14] NoOp("SIP/monprovider-0000000a", "FAXOPT(minrate) : 2400")
-- Executing [01xxxxxxxx@default:15] NoOp("SIP/monprovider-0000000a", "**** RECEIVING FAX : fax-2011.11.08-19.36.36-01xxxxxxxx.tif ****")
-- Executing [01xxxxxxxx@default:16] ReceiveFAX("SIP/monprovider-0000000a", "/var/spool/asterisk/fax/fax-2011.11.08-19.36.36-01xxxxxxxx.tif")
-- Channel 'SIP/monprovider-0000000a' receiving FAX '/var/spool/asterisk/fax/fax-2011.11.08-19.36.36-01xxxxxxxx.tif'
-- Channel 'SIP/monprovider-0000000a' FAX session '6' started
-- FAX handle 0: [ 019.271547 ], entering CLOSING state
-- FAX handle 0: [ 019.333543 ], entering CLOSING state
-- Channel 'SIP/monprovider-0000000a' FAX session '6' is complete, result: 'SUCCESS' (FAX_SUCCESS), error: 'NO_ERROR', pages: 1, resolution: '200x200', transfer rate: '14400', remoteSID: ''
== Spawn extension (default, 01xxxxxxxx, 16) exited non-zero on 'SIP/monprovider-0000000a'
et a partir de la plus rien. Le ficheir est bien creer dans le dossier /var/spool/asterisk/fax/ mais pas de conversion de fichier

pouvez vous m'aider a se sujet car la je seche j'ai fait des recherche mes elle n'on rien donner.... :(

merci a tous pour votre aide :)

therebel23
09/11/2011, 00h11
Il manque le bout de ton fichier extensions.conf ou tu affiches les NoOp ..

barto95
09/11/2011, 01h50
c-a-d

mon fichier extensions.conf n'a vraiment que ce que j'ai mit plus haut....

si il manque quelque chose peut tu me le dire stp :)

et le truc aussi ces qu'il ne passe pas a la commande tiff2pdf franchement je ne sais pas ou et le probleme ...

barto95
09/11/2011, 13h11
j'ai aussi remarquer que asterisk ne passe pas a la ligne suivante apres le receivefax

pourquoi je ne sais pas si on regarde ma table SQL il fait bien la ligne receivefax et me genere le fichier tif au bon endroit mes apres plus rien

ex :

-- Executing [01xxxxxxxx@default:16] ReceiveFAX("SIP/monprovider-00000023", "/var/spool/asterisk/fax/fax-2011.11.09-12.14.53-01xxxxxxxx.tif,30")
-- Channel 'SIP/monprovider-00000023' receiving FAX '/var/spool/asterisk/fax/fax-2011.11.09-12.14.53-01xxxxxxxx.tif'
-- Channel 'SIP/monprovider-00000023' FAX session '17' started
-- FAX handle 0: [ 019.096932 ], entering CLOSING state
-- FAX handle 0: [ 019.157343 ], entering CLOSING state
-- Channel 'SIP/monprovider-00000023' FAX session '17' is complete, result: 'SUCCESS' (FAX_SUCCESS), error: 'NO_ERROR', pages: 1, resolution: '200x200', transfer rate: '14400', remoteSID: ''
== Spawn extension (default, 01xxxxxxx, 16) exited non-zero on 'SIP/monprovider-00000023'


et ensuite plus rien .... pq je ne sais pas :(

therebel23
11/11/2011, 11h36
Y'a surement un fichier dans ta configuration asterisk dans lequel tu as mis les commandes relatives au fax2mail.

Tapes dans une console ssh :

cd /etc/asterisk
grep -r Fax2mail *

Et donnes moi le résultat..

barto95
11/11/2011, 15h37
alors j'ai ceci :


server-fax@Server-Fax:/etc/asterisk$ grep -r Fax2mail *
extensions.conf:exten => 017044xxxx,1,NoOp(Fax2mail)
extensions.conf:exten => 017044xxxx,1,NoOp(Fax2mail)
extensions.conf:exten => 017044xxxx,1,NoOp(Fax2mail)
extensions.conf:exten => 017044xxxx,1,NoOp(Fax2mail)
extensions.conf:exten => 017044xxxx,1,NoOp(Fax2mail)

et ceci :


server-fax@Server-Fax:/etc/asterisk$ grep -r fax2mail *
extensions.conf_Mysql:DBPASS=fax2mail
extensions.conf.save:;DBPASS=fax2mail
extensions.conf.save.1:;DBPASS=fax2mail
extensions.conf.save.2:;DBPASS=fax2mail
res_config_mysql.conf:;dbpass = fax2mail
res_config_mysql.conf.save:dbpass = fax2mail
res_config_mysql.conf.save:dbpass = fax2mail

therebel23
11/11/2011, 16h48
OK, donc copie-colle le contenu complet de ton fichier /etc/asterisk/extensions.conf (attention à masquer les mots de passe !!)

barto95
11/11/2011, 17h34
[general]
autofallthrough =yes
static =yes
writeprotect =no
context =inboundfax-sct
language =fr
disallow =all
allow =alaw
;allow =g729

[globals]
DBHOST=127.0.0.1
DBNAME=BASE MYSQL
DBUSER=Login
DBPASS=PWD

[default]
switch => Realtime/@extensions
switch => Realtime/inboundfax-sct@extensions

therebel23
11/11/2011, 22h10
Y'a un truc qui m'échappe, ton fichier devrait être bien plus fourni que cela : tout ce qui concerne le fax2mail, tu l'as bien au début copié-collé dans ce fichier non ? ou un autre ?

barto95
12/11/2011, 11h30
au debut de mon poste j'ai copier coller les fichier extensions.conf sip.con extconfig.conf etc


et tout se que j'ai dans la cli qui s'affiche ces se que j'ai dans ma base de donner mysql

therebel23
12/11/2011, 13h41
Je jette l'éponge ...

barto95
12/11/2011, 13h45
pourquoi ?

sinon je pense que je ferait tout avec les fichier extensions.conf etc et plus ma base de donner .... car quand je n'utilise pas ma base de donner sa fonctionne bien mes bon ces un service que l'on veut mettre en place pour nos client ....

therebel23
12/11/2011, 13h49
server-fax@Server-Fax:/etc/asterisk$ grep -r Fax2mail *
extensions.conf:exten => 017044xxxx,1,NoOp(Fax2mail)
extensions.conf:exten => 017044xxxx,1,NoOp(Fax2mail)
extensions.conf:exten => 017044xxxx,1,NoOp(Fax2mail)
extensions.conf:exten => 017044xxxx,1,NoOp(Fax2mail)
extensions.conf:exten => 017044xxxx,1,NoOp(Fax2mail)


Etant donné le résultat de la commande grep ci-dessus :
tu as forcément du code relatif au fax2mail dans ton fichier /etc/asterisk/extensions.conf. Comprends-tu ?

Retrouve l'emplacement du fichier qui parle de fax2mail et copie colle le ..

barto95
12/11/2011, 14h24
voici a l'heure actuelle se que j'ai dans mon fichier extensions.conf

j'ai fait des teste pour voir si sans passer par la base donnée sa fonctionnait ....


extensions.conf :


[general]
autofallthrough =yes
static =yes
writeprotect =no
context =default
language =fr
disallow =all
allow =alaw


[default]
;[fax-ludo]
exten => 017044XXXX,1,NoOp(Fax2mail)
exten => 017044XXXX,2,Gosub(inboundfax-sct,s,1)
exten => 017044XXXX,3,Hangup()

;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;[fax-thomas]
exten => 017044XXXX,1,NoOp(Fax2mail)
exten => 017044XXXX,2,Gosub(inboundfax-thomas,s,1)
exten => 017044XXXX,3,Hangup()

;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;[fax-joelle]
exten => 017044XXXX,1,NoOp(Fax2mail)
exten => 017044XXXX,2,Gosub(inboundfax-joelle,s,1)
exten => 017044XXXX,3,Hangup()

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;[fax-christian]
exten => 017044XXXX,1,NoOp(Fax2mail)
exten => 017044XXXX,2,Gosub(inboundfax-christian,s,1)
exten => 017044XXXX,3,Hangup()

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;[fax-aminata]
exten => 017044XXXX,1,NoOp(Fax2mail)
exten => 017044XXXX,2,Gosub(inboundfax-aminata,s,1)
exten => 017044XXXX,3,Hangup()

;;;;;;;


[inboundfax-sct]
exten => s,1,NoOp(**** FAX RECEIVED from 0${CALLERID(num)} ${STRFTIME(${EPOCH},,%c)} ****)
exten => s,n,Set(FAXOPT(ecm)=yes)
exten => s,n,Set(FILENAME=fax-${STRFTIME(${EPOCH},,%Y.%m.%d-%H.%M.%S)}-0${CALLERID(num)})
exten => s,n,Set(FAXFILE=${FILENAME}.tif)
exten => s,n,Set(FAXFILEPDF=/var/spool/asterisk/fax/${FILENAME}.pdf)
exten => s,n,ReceiveFAX(/var/spool/asterisk/fax/${FAXFILE})
exten => s,n,Hangup()
exten => h,1,System(tiff2pdf -o /var/spool/asterisk/fax/${FILENAME}.pdf /var/spool/asterisk/fax/${FAXFILE})
exten => h,n,System(mutt -nx -s "Nouveau FAX" -a /var/spool/asterisk/fax/${FILENAME}.pdf -- bartoXXXX@gmail.com < /var/www/fax.txt)
exten => h,n,Return()

[inboundfax-thomas]
exten => s,1,NoOp(**** FAX RECEIVED from 0${CALLERID(num)} ${STRFTIME(${EPOCH},,%c)} ****)
exten => s,n,Set(FAXOPT(ecm)=yes)
exten => s,n,Set(FILENAME=fax-${STRFTIME(${EPOCH},,%Y.%m.%d-%H.%M.%S)}-0${CALLERID(num)})
exten => s,n,Set(FAXFILE=${FILENAME}.tif)
exten => s,n,Set(FAXFILEPDF=/var/spool/asterisk/fax/${FILENAME}.pdf)
exten => s,n,ReceiveFAX(/var/spool/asterisk/fax/${FAXFILE})
exten => s,n,Hangup()
exten => h,1,System(tiff2pdf -o /var/spool/asterisk/fax/${FILENAME}.pdf /var/spool/asterisk/fax/${FAXFILE})
exten => h,n,System(mutt -nx -s "Nouveau FAX" -a /var/spool/asterisk/fax/${FILENAME}.pdf -- bartoXXXX@gmail.com < /var/www/fax.txt)
exten => h,n,Return()



[inboundfax-joelle]
exten => s,1,NoOp(**** FAX RECEIVED from 0${CALLERID(num)} ${STRFTIME(${EPOCH},,%c)} ****)
exten => s,n,Set(FAXOPT(ecm)=yes)
exten => s,n,Set(FILENAME=fax-${STRFTIME(${EPOCH},,%Y.%m.%d-%H.%M.%S)}-0${CALLERID(num)})
exten => s,n,Set(FAXFILE=${FILENAME}.tif)
exten => s,n,Set(FAXFILEPDF=/var/spool/asterisk/fax/${FILENAME}.pdf)
exten => s,n,ReceiveFAX(/var/spool/asterisk/fax/${FAXFILE})
exten => s,n,Hangup()
exten => h,1,System(tiff2pdf -o /var/spool/asterisk/fax/${FILENAME}.pdf /var/spool/asterisk/fax/${FAXFILE})
exten => h,n,System(mutt -nx -s "Nouveau FAX" -a /var/spool/asterisk/fax/${FILENAME}.pdf -- bartoXXXX@gmail.com < /var/www/fax.txt)
exten => h,n,Return()

[inboundfax-christian]
exten => s,1,NoOp(**** FAX RECEIVED from 0${CALLERID(num)} ${STRFTIME(${EPOCH},,%c)} ****)
exten => s,n,Set(FAXOPT(ecm)=yes)
exten => s,n,Set(FILENAME=fax-${STRFTIME(${EPOCH},,%Y.%m.%d-%H.%M.%S)}-0${CALLERID(num)})
exten => s,n,Set(FAXFILE=${FILENAME}.tif)
exten => s,n,Set(FAXFILEPDF=/var/spool/asterisk/fax/${FILENAME}.pdf)
exten => s,n,ReceiveFAX(/var/spool/asterisk/fax/${FAXFILE})
exten => s,n,Hangup()
exten => h,1,System(tiff2pdf -o /var/spool/asterisk/fax/${FILENAME}.pdf /var/spool/asterisk/fax/${FAXFILE})
exten => h,n,System(mutt -nx -s "Nouveau FAX" -a /var/spool/asterisk/fax/${FILENAME}.pdf -- barto9XXXX@gmail.com < /var/www/fax.txt)
exten => h,n,Return()


[inboundfax-aminata]
exten => s,1,NoOp(**** FAX RECEIVED from 0${CALLERID(num)} ${STRFTIME(${EPOCH},,%c)} ****)
exten => s,n,Set(FAXOPT(ecm)=yes)
exten => s,n,Set(FILENAME=fax-${STRFTIME(${EPOCH},,%Y.%m.%d-%H.%M.%S)}-0${CALLERID(num)})
exten => s,n,Set(FAXFILE=${FILENAME}.tif)
exten => s,n,Set(FAXFILEPDF=/var/spool/asterisk/fax/${FILENAME}.pdf)
exten => s,n,ReceiveFAX(/var/spool/asterisk/fax/${FAXFILE})
exten => s,n,Hangup()
exten => h,1,System(tiff2pdf -o /var/spool/asterisk/fax/${FILENAME}.pdf /var/spool/asterisk/fax/${FAXFILE})
exten => h,n,System(mutt -nx -s "Nouveau FAX" -a /var/spool/asterisk/fax/${FILENAME}.pdf -- bartoXXXX@gmail.com < /var/www/fax.txt)
exten => h,n,Return()


ces se que j'ai dans mon extensions.conf et la sa fonctionne bien par contre quand je met se que je tes montrer plus haut avec le switch => Realtime/@extensions et la base de donnée mysql la sa fonctionne pas pour exemple le CLI de couleur rouge le montre....

et j'aimerais au lieu que tout sa soit dans le fichier extensions.conf que se soit dans une base de donner mysql avec différente table ou autre pour chaque client....

j’espère que tu comprend se que j'essaie d'expliquer...

therebel23
12/11/2011, 14h27
voilà ce que j'attendais..
Donc je pense que le problème vient du fait qu'il faut que tu mettes le chemin complet vers tiff2pdf

Ex:

/usr/local/bin/tiff2pdf

therebel23
12/11/2011, 14h28
et oublie pas de faire un "chmod +x tiff2pdf" pour le rendre éxecutable (teste le en ligne de commande avant)

therebel23
12/11/2011, 14h31
Idem, chemin complet pour mutt

barto95
12/11/2011, 14h36
ha ok

et petite question si j'ai plusieru contexte ces a dire

[inboundfax-christian]

[inboundfax-aminata]


dans mon extensions.conf sa doit ressembler a sa :

[general]
autofallthrough =yes
static =yes
writeprotect =no
context =default
language =fr
disallow =all
allow =alaw

[default]
switch => Realtime/@extensions (le extensions est le nom de ma table)

[inboundafx-christian]
switch => Realtime/@Christian ( le christian est le nom d'une autre table mysql)

etc.....


par contre quand je fait sa dans le CLI j'ai un message qui me dit l'extensions inboundfax-christian n'a pas ete trouver....


merci pour ta reponse je vais tester sa et je te dit si sa fonctionne ....

therebel23
12/11/2011, 14h38
Je connais pas beaucoup le realtime. Fais d'abord toute ta conf en dur dans extensions.conf et sip.conf et ensuite tu passeras en realtime.. Un problème à la fois ..

barto95
12/11/2011, 14h44
et bas la conf que je viens de te mettre de extensions.conf avec toute les ligne la pour thomas ludo christian aminata etc fonctionne bien

par contre quand je le transvase dans mysql avec realtime la sa bloque ...

mes cette conf en "dur" fonctionne...

therebel23
12/11/2011, 14h46
Désolé je ne sais pas faire ..

barto95
12/11/2011, 14h55
pas grave merci quand meme pour ton aide je vais tester le fait de mettre tout le chemin

je te tien au courant

ffossard
12/11/2011, 15h01
Il faudrait nous montrer les extensions dans la base de données.

Avez-vous le même problème sans realtime ?

barto95
12/11/2011, 16h21
non sans realtime tout fonctionne et quand je met tout dans mysql la sa bloque j'ai fait un screen de ma base sql dans le premier poste

ffossard
13/11/2011, 00h09
au debut de mon poste j'ai copier coller les fichier extensions.conf sip.con extconfig.conf etc

et tout se que j'ai dans la cli qui s'affiche ces se que j'ai dans ma base de donner mysql

Je viens de voir la capture d'écran, c'était discret.
Un effort sur l'orthographe svp, votre dernière phrase est abominable à lire.

Le résultat dans la CLI est exactement identique en realtime et en dialplan "fichier" ?
Pour tester, essayez d'indiquer en dur le chemin du fichier pdf, sans variable dedans.
Je remarque aussi que la variable FAXFILE ne contient que le nom de fichier, alors que FAXFILEPDF contient le chemin complet, peut-être que cette différence provoque le problème.

Je viens de voir aussi que votre dialplan "fichier" n'est pas le même que celui en realtime, voyez la différence avec votre base de données, vous utilisez l'extension "h":


exten => s,n,ReceiveFAX(/var/spool/asterisk/fax/${FAXFILE})
exten => s,n,Hangup()
exten => h,1,System(tiff2pdf -o /var/spool/asterisk/fax/${FILENAME}.pdf /var/spool/asterisk/fax/${FAXFILE})

barto95
13/11/2011, 13h13
dsl pour l'orthographe

je ferais tout ces teste demain

et je mettrait le résultat ici...

merci a tous pour votre aide