I am working on a project that involved a serial integration with Asterisk to a Property Management Software appliance and need to pass SMDR info via serial connector. I’ve not worked on something like this before and could use some general direction. Possibly some paid consulting work in it as well.
I am not sure what is SMDR - may be same as CDR (call detailed record) - at least this is suggestion from wiki.
If you want to pass CDR from Asterisk to RS232 you can use AGI - asterisk gateway interface. You can write application in PHP, Perl or C - or what you like.
RS232 is also easy to open and send data.
It is not so easy to pass something to Asterisk but again - you can use call files to initiate call (service monitoring RS232 which will create call files) or using AMI to pass data to live call …
Thanks very much for the reply. Just to clarify: are you saying I can use AGI OR write my own interface; or are you saying I need to do both use AGI and write my own interface?
I am not sure what exactly you have and what you want to do.
If you want to send some data from Asterisk to RS232 - you could do only with AGI, of course problem with collisions is “pending” - 5 calls terminated at same time will cause 5 attempts to open RS232 at same time.
Also you could keep everything in DB, and one cronjob (simple application started regularly) could get data from DB and send to RS232 - avoiding collisions but with some time delay.
If you want to send data from RS232 to Asterisk, then you can do it with AMI (asterisk manager interface).
I am working as freelancer, you can contact me on my mail, or send message to me.
You can write a daemon, which open the serial port and is connected to the Asterisk AMI interface, through the AMI the daemon can parse informations about the calls and write what needed on the serial port, just one daemon running, it logs informations about concurrent calls without problems.
We use this approach to send informations about the status of queue members to a web panel, the daemon is written in php and it’s working well since many months, with the PEAR daemon class and the phpagi class we built a reliable and very useful tool.