Capturing SMDR data into MySQL


I am trying to put together a basic SMDR logger to record calls made in the office, we are using a mitel 3300, I can view the call data by Telnet on port 1752, how can I record this data to a MySQL db so it can be viewed?
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Phil DavidsonCommented:
Can the Mitel export data to text?  I would assume it could.

There are applications designed to work with any phone system.  These can extract-transform-load the data into SQL databases.  The ETL process could be developed with a programming language such as Python, Java, or even Bash.  It could then be automated.

The text data from the Mitel 3300 may need to be cleaned and formatted properly.  The MySQL database would need to be designed to have the proper datatypes for the ETL process to run smoothly.  Sometimes data immediately after being exported from a phone system can be anomalous or unusual.  This can cause the automated ETL process to fail unless there is robust exception-handling in the program that does the ETL processing.  I would first figure out how to export the data from the Mitel 3300 to plain text by calling the vendor.  Then I'd develop an in-house ETL solution or find a third party software company that has an application that can do this.

I would figure out how long the Mitel 3300 stores historic data.  You may want to back up the plain text data for historic reasons.  If the data is sensitive, you may not want to store back up copies of it.
hellblazerukAuthor Commented:
the output can be viewed using telnet not saved to a txt file, so I need a way of saving from telnet to the MySQL db?
This thread may be relevant:

Topic: Access SMDR Logs on Mitel 3300

Since you mentioned Perl, the way you would develop a script that performed this transfer would be to use the Expect module to interact with the Mitel over telnet and then send the data to MySQL using module DBD::MySql. I don't think it would be a trivial script to write, however, so it would be wise to look into whatever the Mitel community may already have developed.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Phil DavidsonCommented:
I'm curious how this would be automated without getting the data to a text file or CSV file.  I may not be able to help.  If a telnet session can be established, I would think an SFTP (or possibly an FTP) session could be established.  Do you want the text that is echoed to the telnet console to be written somewhere else as it is streamed?  That would be complex in my opinion.  Good luck.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
IP Telephony

From novice to tech pro — start learning today.