Asterisk z Oracle na 64-bitowym Centos-ie
Autor: krdian dnia 23 listopada 2012
Brak komentarzy
Jakiś czas temu otrzymałem zlecenie na skonfigurowanie Asteriska z bazą Oracle na 64-bitowym Centosie. Zadanie wydawało się dosyć proste – podłączyć Asterisk-a za pomocą unixODBC tak jak na systemie 32-bitowym do bazy Oracle.
Zainstalowałem niezbędne paczki do skompilowania Asterisk-a, w tym unixODBC-devel. Kompilacja przebiegła gładko. Zainstalowałem ‘binarki’ bez problemu. Uruchomienie też przebiegło bezbłędnie. Pora sprawdzić czy Asterisk połączy się z bazą. Z CLI wydałem komendę odbc show i … niespodzianka – Asterisk postanowił się “wywrócić”.
Szybka analiza pliku core wykazała, że problem leży w makrze SQL_NTS biblioteki 64-bitowej unixODBC. Na szybko napisałem łatkę, którą poprawiła obsługę ODBC. Chociaż problem wystąpił na Asterisk-u wersji 1.4.x wykorzystuję ją do dziś na produkcyjnych serwerach, ponieważ problem występuje na kolejnych gałęziach i wersjach Asterisk-a.
DOstatnia wersja patch-a, przerobiona dla Asterisk-a w wersji 11.0.1 znajduje się pod adresem: http://voipnews.pl/wp-content/public/asterisk-11.0.1.odbc-x86_64.diff
Tagi: Asterisk, Centos, Linux, Oracle, unixODBC