Commit Graph

96 Commits

Author SHA1 Message Date
Andreas Eversberg 443a7c9eb2 Hopefully fixed the double log bug that causes so much trouble. 2010-06-30 11:48:11 +02:00
Andreas Eversberg 7b14ecc400 More debug. 2010-06-24 09:23:27 +02:00
Andreas Eversberg 8155a3b252 More debug 2010-06-22 09:47:56 +02:00
Andreas Eversberg 69ad78e230 Added more detailed debugging for the locking problem. 2010-06-14 12:31:52 +02:00
Andreas Eversberg 91601aaa42 Added additional debug logging to lcr_read. 2010-06-09 09:58:34 +02:00
Andreas Eversberg 6e5729bfa4 Removed LF from debug code. 2010-06-09 09:37:28 +02:00
Andreas Eversberg 5c120fb508 Updated debugging patch. 2010-06-08 16:33:00 +02:00
Andreas Eversberg 513e12ace5 Test patch #1 for chan_lcr, to debug the Asterisk freeze problem. 2010-06-04 10:27:17 +02:00
Andreas Eversberg 6d4a65705a Added patch to play ringing tone when connected but the call is forwarded
and ringing again. Thanx to Jacek for this patch.
2010-05-28 08:36:00 +02:00
Andreas Eversberg a498faceb2 Fix for redirection number. Thanx to Dennis for this bugfix.
I changed it a bit, so the redirection number is converted from
national/international format into numerical format. (adding prefixes)

If there is still a problem with it, let me know.
2010-05-28 08:19:30 +02:00
Andreas Eversberg 00c52acce5 Fixes a locking bug in chan_lcr. Thanx to WIMPy for that report.
modified:   chan_lcr.c
2010-04-30 13:29:15 +02:00
Andreas Eversberg 2732c3ce40 Fixed output problems of error messages while parsing options.conf / gsm.conf.
modified:   Makefile.in
	modified:   bchannel.c
	modified:   chan_lcr.c
	modified:   genext.c
	modified:   gsm.cpp
	modified:   gsm.h
	modified:   gsm_conf.c
	modified:   lcradmin.c
	modified:   main.c
	modified:   options.c
	modified:   options.h
2010-03-17 08:31:07 +01:00
Andreas Eversberg 0c65074b5b Fixed compiler warnings when compiling with gcc 4.3.4.
Fixed names of moved include files (OpenBSC).

	modified:   Makefile.am
	modified:   Makefile.in
	modified:   README
	modified:   chan_lcr.c
	modified:   configure
	modified:   configure.ac
	modified:   genrc.c
	modified:   gentones.c
	modified:   genwave.c
	modified:   gsm.cpp
	modified:   mISDN.cpp
	modified:   main.c
	modified:   port.cpp
	modified:   tones.c
	modified:   trace.c
2010-03-11 14:07:20 +01:00
Andreas Eversberg 8fb861ef9e - Fixed HLC (higher layer capability) modification to LCR routing.
- Fixed chan_lcr fax queue buffer. Added LCR_TRANSFERCAPABILITY environment.

-> use options "n:t:q250" for sending/receiving faxes with asterisk and chan_lcr.

	modified:   README
	modified:   action.cpp
	modified:   bchannel.c
	modified:   chan_lcr.c
	modified:   route.c
	modified:   route.h
2010-01-24 19:41:32 +01:00
Andreas Eversberg 34b17bad86 Added queue buffer for chan_lcr sending faxes without interruption.
Use options "t:q250" for disabling mISDN_dsp and adding a 250ms delay.

	modified:   README
	modified:   bchannel.c
	modified:   bchannel.h
	modified:   chan_lcr.c
	modified:   chan_lcr.h
	modified:   select.c
2010-01-24 14:22:34 +01:00
Andreas Eversberg b0bd74e35e Replaced polling loop for LCR and chan_lcr with select based event loop.
Now LCR and chan_lcr will not use any CPU until there is work to do.
2010-01-16 11:20:23 +01:00
Andreas Eversberg baade79961 Test fix for lcr and dtmf.
modified:   chan_lcr.c
2010-01-15 21:28:33 +01:00
Andreas Eversberg 3ac6881c22 Added keypad forwarding, keypad parameter, chan_lcr keypad option 'k'.
modified:   README
	modified:   action.cpp
	modified:   apppbx.cpp
	modified:   chan_lcr.c
	modified:   chan_lcr.h
	modified:   dss1.cpp
	modified:   joinpbx.cpp
	modified:   joinpbx.h
	modified:   message.h
	modified:   route.c
	modified:   route.h
2009-10-27 08:02:16 +01:00
root b36acee45f Minor fix: chan_lcr will now go into RING state if remote channel is RINGING.
modified:   chan_lcr.c
2009-09-04 10:52:32 +02:00
Andreas Eversberg 6bf7c7f9db gsm improvements
code cleanup

	modified:   README
	modified:   action.cpp
	modified:   action_efi.cpp
	modified:   action_vbox.cpp
	modified:   alawulaw.c
	modified:   bchannel.c
	modified:   bootstrap.c
	modified:   callerid.c
	modified:   cause.c
	modified:   chan_lcr.c
	modified:   default/gsm.conf
	modified:   dss1.cpp
	modified:   gsm.cpp
	modified:   gsm.h
	modified:   gsm_conf.c
	modified:   message.h
2009-06-06 23:46:21 +02:00
Andreas Eversberg 063d622d53 Fixed disabling of DTMF using 'n' option of chan_lcr.
Please enter the commit message for your changes.
	modified:   README
	modified:   apppbx.cpp
	modified:   bchannel.c
	modified:   chan_lcr.c
	modified:   chan_lcr.h
2009-05-21 19:11:39 +02:00
Andreas Eversberg ebdd133f07 Added PROGRESS indication in both directions, so early audio is possible.
-> Tones and announcements shall be forwarded.

	modified:   README
	modified:   chan_lcr.c
	modified:   chan_lcr.h
2009-03-29 16:50:25 +02:00
Andreas Eversberg 14a1adb4fc chan_lcr: fixed compile problems with newer versions of asterisk 2009-03-29 13:09:59 +02:00
Andreas Eversberg 127751f3c1 Fixed dtmf detection of A-D. (thanx to Ralf)
modified:   README
	modified:   chan_lcr.c
2009-03-15 10:15:23 +01:00
Andreas Eversberg 57ca16397c Added Callweaver support. (thanx to Kristijan)
modified:   README
	modified:   bchannel.c
	modified:   chan_lcr.c
2009-03-15 09:31:23 +01:00
Peter Schlaile adc5448774 simplified rebuffer-mode to make large block sizes work better
Thanks to Kristijan Vrban for the patch!
2009-03-09 09:25:26 +01:00
Peter Schlaile da0d507518 added documentation for re-buffer option 2009-03-02 11:46:05 +01:00
Andreas Eversberg 7476048ba3 New release 1.4
modified:   README
	modified:   chan_lcr.c
	modified:   configure
	modified:   configure.ac
2009-03-01 20:03:32 +01:00
Andreas Eversberg ce266f45f3 Added fax detection patch by gregory.
modified:   README
	modified:   chan_lcr.c
	modified:   chan_lcr.h
2009-02-15 14:33:22 +01:00
Andreas Eversberg fb6e219eda chan_lcr hopefully now compiles against SVN version of asterisk.
Added limitation option for maximum dialed digits. If dial string exceeds
that limit, overlap-dialing is used to complete dial string.
Siemens EWSD (APS V16) only allows 20 digits at a time.

	modified:   README
	modified:   chan_lcr.c
	modified:   default/interface.conf
	modified:   dss1.cpp
	modified:   dss1.h
	modified:   ie.cpp
	modified:   interface.c
	modified:   interface.h
2009-02-15 09:04:14 +01:00
Andreas Eversberg f8cbd5d6f1 added capabilites to lcr channel driver to fix some codec problems. thanx to gregor for this patch!
modified:   chan_lcr.c
2009-01-06 18:37:02 +01:00
Andreas Eversberg bf61575a94 changed error message a bit...
added support for asterisk 1.6. it now compiles with both 1.4 and 1.6. (tested with 1.4 only) thanx to gregor for his valuable help!

	modified:   bchannel.c
	modified:   chan_lcr.c
	modified:   config.h.in
	modified:   configure
	modified:   configure.ac
	modified:   lcradmin.c
	modified:   main.c
2009-01-06 18:34:05 +01:00
Andreas Eversberg efc550418c Added processing of second caller id.
New routing macht rule to filter second caller id.

Fixed extensions directory path.

"make clean" now cleans ".po" files.

Fixed unititialized variable bugs and compiler warnings.

	modified:   Makefile.am
	modified:   Makefile.in
	modified:   action.cpp
	modified:   apppbx.cpp
	modified:   callerid.c
	modified:   chan_lcr.c
	modified:   dss1.cpp
	modified:   dss1.h
	modified:   extension.c
	modified:   gentones.c
	modified:   ie.cpp
	modified:   mISDN.cpp
	modified:   message.h
	modified:   port.cpp
	modified:   route.c
	modified:   route.h
	modified:   socket_server.c
	modified:   tones.c
	modified:   trace.c
2008-11-04 09:31:09 +01:00
Peter Schlaile c37c79c76b chan_lcr: fixed SRCUPDATE
Asterisk 1.4.21 already has source update, so let's check for it by
ifdef again.
2008-10-25 19:02:14 +02:00
Peter Schlaile 6c4b239a3a chan_lcr: Fixed automagic 's' extension and made pickup work.
Last commit by Andreas changed matching semantics to make it possible
to go directly into the dialplan _without_ dialing any digits by implicitly
dialing the 's' extension.

That is fine, if there is one to match :)

If we do not find an implicit 's' extension, we will wait for more digits
instead of hanging up immediately. (If you _really_ depended on that 'feature'
please add s => { Hangup(); } :)

Pickup: the pickup application can be used with PICKUPMARK to match
a channel, that is in RINGING state. Unfortunately, one has to explicitly
use ast_setstate() in addition to ast_queue_event() to convince asterisk
to change the channel state...

=> Pickup works now.
2008-10-25 18:44:31 +02:00
Andreas Eversberg 122a9b2329 added chan_lcr and Makefile.am fixes by Matthias
minor improvements for lcradmin

	modified:   Makefile.am
	modified:   Makefile.in
	modified:   chan_lcr.c
	modified:   configure
	modified:   configure.ac
	modified:   lcradmin.c
2008-10-23 21:26:44 +02:00
Peter Schlaile c04c3f61ac chan_lcr: fixed some "bridging typos" 2008-10-09 20:51:00 +02:00
Peter Schlaile ba7a15918a Merge branch 'master' of ssh://schlaile@git.misdn.org/var/git/lcr 2008-10-09 20:31:40 +02:00
Peter Schlaile fab0ad70c7 added inband dtmf support to chan_lcr
Use option 's' in lcr_config or within the dial-command options,
just like in misdn.
2008-10-09 20:30:59 +02:00
Andreas Eversberg b519aa7e74 Completed documentation about instance creation/destruction proceedure.
modified:   chan_lcr.c
	modified:   chan_lcr.h
2008-09-28 17:37:56 +02:00
Peter Schlaile 08f7138ac0 chan_lcr: fixed race condition in new ref assignment
LCR assumes, that any call in the list, that has ref set to 0 is waiting for a ref to be assigned.
That can cause trouble, if we have one call waiting for a ref to be assigned and another call
hanging in the list, that was just released in the same moment.

Both have ref == 0 and in some circumstances, the new ref message picks the wrong one for
assignment...

This patch makes chan_lcr distinguish between calls waiting for a new ref and those, that
only have their ref removed due to release. (It is not enough, to check for state, since
new calls can change into release state immediately! That is also one of the race conditions,
when this can get you into trouble: asterisk receives call1 by LCR, makes a SETUP call2 immediately
through LCR and then receives a release for call1 by LCR before call2 got it's ref assigned!)

This patch also removes some dead code, that was #ifdef'd out.

End user notice: if you ever got into the situation, that _all_ calls from asterisk to LCR got released
immediately and only a restart of asterisk got you out of the situation, then you might need
this fix :)
2008-09-27 22:03:44 +02:00
Peter Schlaile 3acba5ac9b work around broken HOLD/UNHOLD handling on some SIP phones
Some SIP phones don't send RETRIEVE before they send TRANSFER.
So we RETRIEVE if we bridge two channels, if calls are still on hold.

Also: handle CONTROL_SRCUPDATE with a debug message in recent
versions of asterisk.
2008-09-22 20:35:37 +02:00
Andreas Eversberg b1ab2b9ac1 LCR now runs as a user.
You may change the path of socket and lock files.
LCR admin socket's flags can now be altered to allow access to other users.
Lock and socket files will now be removed when terminating LCR.

	modified:   Makefile
	modified:   chan_lcr.c
	modified:   default/options.conf
	modified:   lcradmin.c
	modified:   lcrsocket.h
	modified:   main.c
	modified:   options.c
	modified:   options.h
	modified:   socket_server.c
2008-08-30 08:24:52 +02:00
Peter Schlaile e496175482 chan_lcr: fixed lcr_fixup (compare with chan_misdn for reference)
- oldast is totally unimportant
- we didn't unlock correctly

=> works now :)
Test case: open two lcr channels using a sip phone. Do a transfer between
them.
2008-08-23 09:56:19 +02:00
Peter Schlaile 5e274aa742 chan_lcr: fixed typo, that made rebuffer-mode request a parameter,
that isn't necessary... shame on me :)
2008-08-22 20:09:33 +02:00
Peter Schlaile a9c1ce57ba chan_lcr: this fixes hanging with app_rxfax and a race condition
in lcr_read

(lcr_read was hanging in locked-state forever, when no data was
available, making any further calls impossible.
Now we return a null-packet to asterisk)

Sidenode: you have to use lcr_config(r) to receive faxes correctly.
(app_rxfax seems to rely on 160-byte buffers)
2008-08-22 20:08:43 +02:00
Super User 2ac0ed4fc4 fixed problem with "Answer" after extension matches.
some cleanups in the makefile.

	modified:   Makefile
	modified:   chan_lcr.c
2008-07-27 10:35:55 +02:00
Super User ff4d197d5e now LCR features real HDLC bchannel mode.
-> if initial caller uses pure data mode (or video), the bchannels for this call are handled in HDLC mode. (hardware/software briding is still applicable.)

	modified:   apppbx.cpp
	modified:   chan_lcr.c
	modified:   dss1.cpp
	modified:   dss1.h
	modified:   lcradmin.c
	modified:   lcrsocket.h
	modified:   mISDN.cpp
	modified:   mISDN.h
	modified:   message.h
	modified:   socket_server.c
2008-07-26 17:42:16 +02:00
Super User f51147e028 many fixes on HDLC issues
many fixes on briding issues

-> briding will work with dsp and directly via chan_lcr
-> hdlc will work with dsp and directly with chan_lcr

	modified:   bchannel.c
	modified:   chan_lcr.c
	modified:   chan_lcr.h
2008-07-26 13:49:23 +02:00
Super User e89c360405 bearer capability fix.
modified:   chan_lcr.c
2008-07-24 19:40:09 +02:00