unified socket application interface (for asterisk and maybe other apps)
[lcr.git] / README
1
2 Read the documentation at http://www.linux-call-router.de
3
4
5 Changes in Version 20021228 
6 - first release
7
8 Changes in Version 20030111 (buggy and unuseable)
9 - support dtmf for callback and dtmf dialing mode (dial through via dtmf)
10 - bug fixes
11 - dialing improvement: dialing h323 now possible with port and alias
12 - other stuff
13 - new Makefile: make install will now install binaries and data on your system
14
15 Changes in Version 20030118 (buggy and unuseable)
16 - information exchange between isdn/h323-ports, endpoints and calls are messages now
17   previousely using direct calls with pointers were dangerous
18 - removed bug since 200301011, which caued h323 calls to deadlock
19
20 Changes in Version 20030120
21 - login function
22 - callback authentication
23 - h323 audio bug. no h323 audio transmission sice version 20030111
24 - some other bug fixes
25
26 Changes in Version 20030206 (first beta release 1.0)
27 - callerid (CLIP/COLP) is now processed correctly with all features
28 - hold sound and active/inactive notification
29 - CD notification
30 - many callerid display function
31 - bug fixes
32 - documentation as word document (partly done)
33 - Note: This week I have my vakation, so there is no response to any question in the mailing list.
34
35 Changes in Version 1.0 
36 - first release
37 - finished the first version of the documentation
38 - new style internet page with documentation in html
39 - all enities (port, endpoint, call) are now c++ objects, rather than structures
40 - tones may now be played and recorded using wave (8bit mono, 16bit mono, 16bit stereo) or law (alwa/ulaw mono)
41 - fixed corruption in wave-file creation
42 - now call forwad (cfb, cfnr) is implemented and working
43 - an answering machine with playback function is implemented.
44 - lots of bug fixes
45
46 Changes in Version 1.1
47 - option to fetch tones into memory, causing faster access, then from hard disk
48 - Memory is now locked using mlockall(), to prevent paging which causes jitter and interruption.
49 - Answering machine now works with keypad information.
50 - callback on internal port, if hangup with call on hold.
51 - A pocket calcularor with simple terms (*, /, +, -) and floating point is added.
52 - If a calls had more than two endpoints, any message has been ignored.
53   This caused not to receive the retreive notification, which caused the hold
54   music to continue to play.
55 - minor buf fixes
56 - Disconnect/release "causes" are now processed by priority, if a multipoint call is made.
57
58 Changes in Version 1.2
59 - bugfix: dialing of vbox-caller now works.
60 - bugfix: minor answering machine announcement bug
61 - fixed compiling error: h323_con.cpp (p_type not declared)  thanx arne!
62 - added include definition for kernel api in Makefile. Hope it works...
63 - fix: dummyid is used for external calls when no caller id is available. the
64   dummy id is transmitted as restricted id. if the police is called, it will
65   see the dummyid rather than the pbx line id. this is used on forwarded calls
66   when the caller id is not available.
67 - doc: added a simple instruction to build a cross over cable.
68
69 Changes in Version 2.0pre
70 - NEW ISDN DRIVER SUPPORT (Forget the HiSax, now use 'mISDN'.)
71 - NEW KERNEL REALTIME MODULE (mISDN_dsp.o)
72 - NEW NT-MODE LIBRARY SUPPORT (now MULTIPOINT!!!)
73 - NEW TE-MODE STACK SUPPORT
74 - support of call suspension and retrieval (switch between calls)
75 - call waiting on internal phone (calls when no bchannel is available)
76 - doc: Now headlines are moved to the next page if they are at the bottom of a
77   page.
78 - vbox: minor speech syntax bugfix
79 - up to 50 (compiler flag) dialed numbers can be recalled.
80 - up to 50 (compiler flag) received calls are listed and can be replied.
81 - Dialing informations are now queued by endpoint until port has received 
82   setup acknowledge on the outgoing connection.
83 - Starting PBX without parameter gives a list of options.
84 - Query option for listing available ports/cards.
85 - CNIP (calling name) Some Simens switches and telephones support this.
86 - Extensions no have names.
87 - Timeouts can now be specified for different call states on ISDN phones.
88 - Tones/Announcements can now be overridden at different call states.
89 - isdn.cpp is completely reworked.
90 - Tones/Announcements can be played externally, if supported by the external
91   line.
92 - Commandline parameters must be given on startup of pbx.
93 - query option to check out the current isdn cards and protocolls.
94 - Debug flags can now be used to speciallize the debug output.
95 - vbox: Recorded calls can now be sent as attached sound file via email, or
96   just a notifaction mail without sound file can be sent.
97 - PBX now runs with highest prio (99) to get as much cpu as possible.
98 - CPU scheduler now runs PBX4Linux as real time process.
99 - Internal calls now use internal extension number as caller id.
100 - Rework of hold/conference.
101 - New option to allow an incoming h323-call to be connected at ringing state.
102 - New codecs supported with h323 (speex and law)
103 - COLP now works with h323
104 - Answering machine now delays to avoid the dtmf tone when start recording
105 - Answering machine now adds the beep behind the announcement file.
106 - keypad facility dialing option
107 - Conference now really works using call hold feature in conjunction with
108   keypad feature
109 - Picking of an incoming call on isdn now really works.
110 - picking of a call forwarded to vbox
111 - I fixed a bug that did not queue the dialed digits correctly before getting
112   an external connecting.
113 - Logfiles of calls now show the correct year.
114 - Callback now rejects if no password is given or the given extension doesn't
115   exist.
116 - Incoming H.323 calls may now instantly connect using a special option.
117 - H323 compiles faster, because the H323 includes are only used for the H323
118   code part.
119 - Using 'curses' for a state debugging. The current state of all instances
120   is displayed on the screen including calls, endpoints and ports.
121 - manny, manny more things that I forgot
122
123 Changes in Version 2.0
124 - fixed memory leak
125 - fixed COLP bug
126 - finally SUSPEND/RESUME (call parking), resume is allowed from any ISDN-port
127 - some CRITICAL bugfixes
128 - Fixed and reworked sample counting when playing tones. Now fast wind and
129   rewind works correctly. Also 8-bit recording can be played back now.
130   I hope it works now without problems.
131 - An internal phone without caller id will now be rejected rather than
132   treated as an extenal call.
133 - Fixed bug in rejecting an external call.
134 - Corrected handeling of 'inbandpatterns'.
135 - Data calls will not enable DTMF detection.
136 - Data calls will not use any audio transmission from user space.
137 - Forward to VBOX only if call is an audio call.
138 - Fixed library bug, that caused not to process keypad-information during
139   setup message.
140 - Fixed a 'release_complete' bug.
141 - Debug information now have the correct month.
142 - Fixed bug of wave-playback of voicebox recoding, caused by rework of the
143   audio routines. It caused a SEGMENTATION FAULT!
144 - Using threads now to send email and using libcrypto.
145 - Introducing encryption of external calls using Blowfish.
146 - Key exchange using RSA.
147 - Fixed a bug in dialing H323-IP with numerical digits.
148 - Fixed a bug that causes endpoint, which receives audio data, to crash when
149   no port is related to it.
150 - Fixed a bug that did not release endpoint, when it receives a disconnect
151   if it has no port (parked).
152 - Fixed a channel assignment bug when retrieving call. (second B-channel)
153 - Now COLP with H.323 works. No more crash!
154 - Park attribute was not set, which caused a crash.
155 - Conference now works correctly with dsp-module.
156 - Fixed a serious NT-mode process handling problem. (crash after some calls)
157 - Added log file which is also displayed on the 'state' screen.
158 - * Happy new year 2004 *
159
160 Changes in Version 2.1
161 - Fixed a bug that caused not to reply external calls (also VBOX).
162 - 'genrc' now supports loading HFC-4S, HFC-8S and HFC-E1 drivers
163 - Outgoing setup now expires after 8 seconds!
164 - Fixed a bug that causes mISDNuser to crash during cleanup.
165 - Fixed memory bug, thanx Paul!
166 - hfc-4s/8s driver support (mISDN)
167 - Improvement of isdn audio processing, hardware support.
168 - Fixed diplay callerid bug "anonymousunknown anon"
169 - Added more stable malloc (calloc) / free handling
170
171 Changes in Version 2.2
172 - PRI proof (2 MBit interface support when using HFC-E1)
173 - Fixed data call bug
174 - Improved display of PRI channels
175 - Now VBOX playback says "no messages" if the last message has been deleted
176   and will not play the last but one, unless the "previous" button has been
177   pressed.
178
179 Changes in Version 2.3
180 - Fixed HFC_MULTI driver activation problem (HW_RESET was not implemented)
181 - Fixed login prefix bug. Thanx Karsten V.
182 - MISDN: better layer 2 check
183 - Now facility informations are transfered during call to terminal
184   (finally advice of charge is displayed) MUST BE ENABLED BY SETTINGS!
185 - Fixed 'reply' dialing bug, that caused a crash. Thanx Karsten V.
186 - Added L1 activation for NT-Mode. Fixed problems with inactive links.
187 - Fixed a bug that caused subsequent data calls after a data call. Thanx JC.
188 - mISDN: layer 1 now works correct with E1 cards.
189
190 Changes in Version 2.4
191 - Fixed parallel ringing to multiple external numbers.
192 - Fixed login again (was still buggy).
193
194 Changes in Version 2.5
195 - Fixed callback bug. (International numbers were not detected.)
196 - Fixed typos (mostly "incomming") - thanx Lars.
197 - Fixed vbox-email bug - thanx Martin. (and also the compiler error)
198 - Fixed compiler bug, that caused compiling without crypto lib to fail.
199 - Fixed some mISDN crash problems.
200 - Now it should also compile with the original CVS tree.
201 - Fixed hfc_multi unloading bug - thanx Karsten!
202 - Now disabling DSP_MODULE really causes DSP to be disabled.
203 - Now disabling real time scheduling really works.
204 - mISDNuser (CVS) now compiles with the mISDN (CVS)
205 - Adding the outdial prefix to the caller ID is now possible.
206 - Fixed bug that caused echo test not to work.
207 - And finally hardware echo now works on HFC 4s/8s/E1 (hfc_multi)
208   For echo dial 993 (Test + 3) for standard configuration.
209 - Added new hfc_multi vendor IDs including "Beronet Cards".
210
211 Changes in Version 2.6
212 - Fixed hookflash bug in conjunction with prefix. Thanx Tobias!
213 - Fixed cleanup bug when loading of ISDN driver failed.
214 - Fixed mISDN bug that caused cards not to be found, if loaded in different
215   order as found by kernel.
216 - Fixed a bug that causes a segfault when a phone disconnects while
217   parallel ringing multiple phones/ports.
218 - Added capability for Point-To-Point in NT mode, including PRI.
219 - Added L1 link control for NT mode.
220 - Fixed bug in hfc_multi and mISDN driver that caused mISDN not to work
221   with kernel > 2.6.7.
222 - Fixed a but when detecting different cards with hfc_multi.
223 - Fixed timer bug that caused timers of multiple NT ports not to work
224   correctly.
225
226 Changes in Version 2.7
227 - Fixed lots of bugs.
228 - Now receive stream from mISDN is disabled when not needed.
229 - Added NT mode support for incomming "SETUP_ACKNOWLEDGE".
230
231 Changes in Version 3.0
232 - Advanced routing capability to replace the numbering_*.conf
233   (Don't worry, internal and external numbering is a feature of the routing
234   capability and is easy to convert.)
235 - Now correct cause location is generated and handled.
236 - New cause display feature. Location is displayed with the cause number.
237 - Many source cleanups.
238 - New interface (Unix socket) to administrate. Status informations are now
239   viewable without restarting PBX. Even may processes may view status info.
240   Starting / stopping state debugging, doesn't require to restart PBX.
241 - Status information now has selectable details.
242 - Better structure for debugging functions and better logging. (code)
243 - Dialing may also be done via command line interface.
244 - Now internel/external dialtone and ringing depends on internal/external call.
245 - Now endpoints (partys) can be released via command line (admin tool).
246 - Watchdog "pbxwatch" to automatically restart and even debug PBX4Linux.
247 - Removed problem with uninitialized variable in ISDNPort object causing to
248   crash. It did not happen very often.(only after some hundred/thousand calls)
249 - HFC-E1 cards did not correctly synchronize to external lines.
250 - dsp.o now allocates only one timeslot per call, as expected.
251 - mISDNuser now correctly connects PRI calls.
252 - PRI improvements and bugfixes.
253 - Support for conference rooms.
254 - Voice box is now able to play announcement before connecting the call.
255   A special feature on the external line is required to send audio before
256   answering the call.
257 - It is now possible to include seconds (time) in the connect message. This
258   might not be supported by all telephones, so it is an optional feature.
259 - Moved open and close of recording audio to the "Port" class, where it
260   belongs. The mixer will be more performant this way.
261 - Notify is now supported by mISDN and also correctly handled and queued
262   by PBX.
263 - Fixed bug that caused not to free broadcast process IDs in certain cases.
264   This would cause calls to internal phones (from extern or intern) not to
265   work after a while.
266 - Added HFC-S USB to 'genrc' tool.
267 - printisdn now shows corret month.
268
269 Changes in Version 3.0-fix1
270 - Rule for changing the forwarding now works. Enter "pbx rules forward" for
271   description. Also the example in "defaults/route.conf" is corrected.
272 - Forking now forks twice and suppresses debug output. Closing of shell is
273   possible.
274
275 Changes in Version 3.0-fix2
276 - Fixed memory leak bug in pbxadmin that caused to eat all memory and make it
277   stop.
278 - Fixed audio handling that cause forking calls to be mute. (Parallel
279   forwarding causes calls to fork to multiple destinations.)
280
281 Changes in Version 3.0-fix3
282 - Added "nopassword" parameter for login action.
283 - Fixed bolean condition bug.
284 - pbxadmin will not exit if terminal size changes.
285
286 Changes in Version 3.1
287 - Internal structure changed. "Endpoints" and "applications" are now two
288   linked classes. The code is now reusable for other projects than
289   "PBX4Linux". (No added features!)
290 - Some source cleanups.
291 - Now keypad must be enabled for each extension if required. (settings)
292 - Removed a new bug that caused remotely parked/holded calls not to be removed
293   from conference. The conference got disturbed by park/hold sound from
294   remote.
295 - Removed bug that caused printing of unset pointers.
296
297 Changes in Version 3.2
298 - PBX now works with mqueue branch. This is the latest CVS source:
299   * HFCmulti is ported
300   * HFC-PCI is ported
301   * DSP is ported
302   * nt-mode lib (libi4l) is ported
303   * source is now SMP (multiple processors or hyperthreading) save.
304 - Fixed bug that caused not to record if annoucement is missing
305 - A prefix may be specified with callback for predefined dialing after
306   callback.
307 - Now b-channels are displayed more compressed on admin tool.
308
309 Changes in Version 3.3
310 - * te-mode works
311 - * te-mode layer 1 and layer 2 control works (SHORTMESSAGE)
312
313 Changes in Version 3.3-fix2
314 - OpenH323 midas release compiles
315 - Fixed bug in MESSAGE_NOTIFY which cases display information not to dliver.
316 - OpenH323 midas release works currently only with law-codecs
317 - Dixed some dial string parsing for Openh323.
318
319 Changes in Version 3.3-fix3
320 - Rework of kernel audio briding. Much faster (less delay), dynamically
321   handles jitter. Ready for future RTP / ISDNoIP modules.
322
323 Changes in Version 3.4
324 - Removed DSP_MODULE switch, because it will be essential for PBX operation.
325 - Fixed pbxadmin offset bug.
326 - Added special feature "efi" to announce caller's ID. You call, and it tells
327   your caller ID. (if available) Sample set is not complete!
328 - Now caller ID and type can be given for external call rule.
329 - Now caller ID and type can be given for changing caller ID.
330 - Removed a display bug in pbxadmin, that caused busy channels to be omitted.
331 - Fixed layer 2 handling bug.
332 - Increased performance of pbx-status screen. Many interfaces/calls caused
333   lock up of machine.
334 - Timeout condition seems to work now.
335 - Timeout action seems to work now.
336
337 New Verion for new name: LCR
338
339 Changes in Version 1.0
340 - Statefull b-channel open and closing
341 - Rebuild audio flow
342   Made much simpler
343   Preloading and keeping transmit buffer for seamless tones and patterns.
344   Recording of what is actually transmitted and received by party.
345 - Logging is replaced by trace
346 - New isdn interface and port structure with many features
347   Interfaces can be changed at runtime.
348   Interfaces can be loaded and unloaded at runtime.
349 - mISDN stack fixes
350 - DDI in and out on all stacks
351 - Layer 1 over IP supports interconnection via IP
352 - Rebuild line and b-channel hunting with individual lists
353 - Screen lists for changing caller IDs
354 - Multiplexing calls to multiple extensions
355 - Removed all VoIP stuff to make core fast and stable (Use Asterisk for VoIP.)
356 - Fixed a bug that caused some isdn connections to hang during disconnect
357 - Many bug fixes
358 - Many minor improvements
359 - New bugs of course...
360 - Rename of 'Call' instances to 'Join', because they join parties together.
361 - A new remote interface for external applications is integrated
362   -> Our first application is (-: *ASTERISK CHANNEL DRIVER* :-)
363