PDA

Voir la version complète : VoiceMail + ODBC + MSSQL


TheBlackBox
27/04/2007, 15h23
Bonjour,

Je tente de connecter Asterisk avec une base de donnée MSSQL pour enregistrer les voicemail.

J'ai déjà configurer les enregistrements de "cdr" dans un des tables de la base de donnée. Mais là je ne comprend pas trop comment il faut faire.


odbcinst.ini

[FreeTDS]
Description = FreeTDS ODBC driver for MSSQL
Driver = /usr/lib/libtdsodbc.so
Setup = /usr/lib/libtdsS.so
FileUsage = 1



odbc.ini

[MSSQL-asterisk]
description = Asterisk ODBC for MSSQL
driver = FreeTDS
server = 192.168.1.1
port = 1234
database = Ast
tds_version = 8.0
language = us_english




Dans le fichier voicemail.conf je défini les champs

odbcstorage=SQLServ
odbctable=AST_VoiceMail


Et pour finir je défini le fichier res_odbc.conf de la manière suivante :

[SQLServ]
enable => yes
dns => MSSQL-asterisk
pooling => yes
limit => 5
username => aste
password => passwd
pre-connect => yes


Après toutes ces config j'obtient l'erreur suivante :


Apr 27 17:10:54] WARNING[14658]: app_voicemail.c:2299 inboxcount: Failed to obtain database object for 'SQLServ'!



PS : J'ai recompiler Asterisk en lui mettant dans le menuselect "ODBC_STORAGE".

Si quelqu'un a une petite idée ca serait pas mal...

Merci et bon Week-End a tous...

TheBlackBox
02/05/2007, 08h47
Je me répond à moi même...

dans res_odbc.conf j'ai noté


dns => MSSQL-asterisk


En fait je me suis trompé en écrivant il faut écrire


dsn => MSSQL-asterisk


A la la des fois je me demandes..... lol

gouroutrash
02/05/2007, 10h49
Merci pour l'info et la méthode :)

TheBlackBox
02/05/2007, 10h56
Merci pour l'info et la méthode

de rien lol

siriudarius
23/05/2007, 10h43
Bonjour

Merci pour l'info car je suis actuellement en train de connecter MS SQL et ASterisk.
Ai-je besoin de UNIX ODBC ?

Quelle version d'Asterisk utilises-tu ?
J'essaie de complier une version 1.4.4 (la dernière) et j'ai le msg
#warning "You have older TDS, you should upgrade!
alors que j'ai bien la dernière version installée. As-tu rencontré ce genre de pb ?

Merci

TheBlackBox
23/05/2007, 11h03
Bonjour

Merci pour l'info car je suis actuellement en train de connecter MS SQL et ASterisk.
Ai-je besoin de UNIX ODBC ?

Quelle version d'Asterisk utilises-tu ?
J'essaie de complier une version 1.4.4 (la dernière) et j'ai le msg
#warning "You have older TDS, you should upgrade!
alors que j'ai bien la dernière version installée. As-tu rencontré ce genre de pb ?

Merci
Lu

Pour Asterisk j'utilise moi aussi la dernière version

Pour ce qui est de la version d'unixodbc j'utilise :
unixODBC-2.2.12

Pour ce qui est de FreeTDS j'utilise la version :
freetds-0.62.4

Et non je n'ai pas eu de problèmes lors de l'install

Je me suis basé sur ce site (http://www.asteriskdocs.org/modules/tinycontent/content/docbook/current/docs-html/x1454.html) pour faire la connexion.

siriudarius
23/05/2007, 11h35
Merci pour cette info je ne connaissais pas ce site. Je vais tester et je ne manquerai pas de poster une réponse.

A+

siriudarius
13/06/2007, 19h06
Bon je me réponds à moi-même.
Bie nque j'ai posé cette question il y a déjà quelques temps, j'avais laissé de côté et je viens de retravailler dessus.

J'ai découvert l'article suivant :
http://www.asteriskguru.com/archives/asterisk-dev-cdrtds-not-compiling-vt68684.html

qui correspond à la verison FreeTDS 0.62 et 0.63. En fait l'errreur se produit aussi en version 0.64.
Pour la corriger, il faut se placer dans la sous-directory /cdr et :
éditer le fichier cdr_tds.c
Repérer la directive #ifdef FREETDS_PRE_0_62
Ajouter (après endif):

#define FREETDS_0_64
#undef FREETDS_0_62
#undef FREETDS_PRE_0_62

Sauver puis refaire un make depuis ../
L'erreur provient en fait d'une détection erronée de la version freetds installée.
Après cette manip, ca roule.
So enjoy * and mssql and so on ...