Hello everyone, I was working on implementing several changes to asterisk. I had described the changes and their reasons in several emails before I started the job. I have completed the modifications some weeks ago; the system was then tested extensively and is now in use in a production environment. It seems fairly stable so far.
I believe at least some of the additions can be of general use and would like to submit a patch. The modifications done are: - Call recording. Any channel can be recorded through calling applications on the dial plan, or sending messages through the manager interface. A monitoring resource is created for this functionality. I used Kostya V. Ivanov's call recording patch to get the idea how. Thanks for this Kostya! - An alaw pcm format file driver. I had to record conversations in alaw format. This is based on the ulaw format driver. However, I had to make file writing real-time for call recording to function correctly when channels use silence suppression. To do this, basically the file driver keeps the time recording started, and when new data is to be written to the file, it is written to the correct file position. I have seen that a seek function was added to file drivers after I have done those changes, and I think we might want to change the way file seeking is done currently. However, initially adding the file as is will be the easiest. - Additional information is sent through the manager interface for queue events. - Some bug fixes in chan_agent channel driver (mostly to do with race conditions). - Modification to chan_sip so the default callerid used when sending INVITEs is not hardcoded to "asterisk", but is read from the config file. It defaults to "asterisk". - Modifications to manager to make the tcp connection TCP_NODELAY. I have found we sometimes have delays in tcp message transmit due to the Naple algorithm used in TCP. For this fix to work, both the client (astman, gastman) and the server (asterisk) needs to be in TCP_NODELAY mode. - Asterisk exits if it cannot create a thread. I have observed that once thread creation starts to fail, Asterisk never recovers. So the changes cause asterisk to stop once it detects that. The starter script can then restart asterisk. This behaviour can be disabled by sending -DEXPERIMENTAL to the compiler in the makefile. - Changed how music on hold resource works so that it does not need a zaptel driver for timing any more. Sound quality is good and not choppy without any zaptel driver. I believe this should be about all. The patchfile is attached. Any comments are welcome. Regards, Mahmut ---------------------------------------------------------------------------- --------------------- Mahmut Fettahlioglu Software Architect Open Access Pty Ltd PO Box 301 Crows Nest NSW 1585 Phone 02 9978 7009 Fax 02 9978 7099 Email <[EMAIL PROTECTED]> ---------------------------------------------------------------------------- --------------------- This email is intended only for the use of the individual or entity named above and may contain information that is confidential and privileged. If you are not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this email is strictly prohibited. If you have received this email in error, please notify us immediately by return email or telephone 02 9978 7009 and destroy the original message.
patchfile.gz
Description: Binary data
