summaryrefslogtreecommitdiffstats
path: root/chan_lcr.c
Commit message (Collapse)AuthorAgeFilesLines
* added chan_lcr and Makefile.am fixes by MatthiasAndreas Eversberg2008-10-231-15/+14Star
| | | | | | | | | | | minor improvements for lcradmin modified: Makefile.am modified: Makefile.in modified: chan_lcr.c modified: configure modified: configure.ac modified: lcradmin.c
* chan_lcr: fixed some "bridging typos"Peter Schlaile2008-10-091-7/+7
|
* Merge branch 'master' of ssh://schlaile@git.misdn.org/var/git/lcrPeter Schlaile2008-10-091-2/+6
|\
| * Completed documentation about instance creation/destruction proceedure.Andreas Eversberg2008-09-281-2/+6
| | | | | | | | | | modified: chan_lcr.c modified: chan_lcr.h
* | added inband dtmf support to chan_lcrPeter Schlaile2008-10-091-5/+65
|/ | | | | Use option 's' in lcr_config or within the dial-command options, just like in misdn.
* chan_lcr: fixed race condition in new ref assignmentPeter Schlaile2008-09-271-32/+11Star
| | | | | | | | | | | | | | | | | | | | | 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 :)
* work around broken HOLD/UNHOLD handling on some SIP phonesPeter Schlaile2008-09-221-1/+32
| | | | | | | | 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.
* LCR now runs as a user.Andreas Eversberg2008-08-301-2/+1Star
| | | | | | | | | | | | | | | | 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
* chan_lcr: fixed lcr_fixup (compare with chan_misdn for reference)Peter Schlaile2008-08-231-6/+10
| | | | | | | | | - 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.
* chan_lcr: fixed typo, that made rebuffer-mode request a parameter,Peter Schlaile2008-08-221-1/+1
| | | | that isn't necessary... shame on me :)
* chan_lcr: this fixes hanging with app_rxfax and a race conditionPeter Schlaile2008-08-221-0/+6
| | | | | | | | | | | 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)
* fixed problem with "Answer" after extension matches.Super User2008-07-271-3/+3
| | | | | | | some cleanups in the makefile. modified: Makefile modified: chan_lcr.c
* now LCR features real HDLC bchannel mode.Super User2008-07-261-4/+6
| | | | | | | | | | | | | | | -> 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
* many fixes on HDLC issuesSuper User2008-07-261-34/+36
| | | | | | | | | | | 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
* bearer capability fix.Super User2008-07-241-3/+7
| | | | modified: chan_lcr.c
* fixed overlap dialing problem:Super User2008-07-241-10/+38
| | | | | | | | -> YES, you may now overlap dial through asterisk fixed answering call when bridging, because asterisk will not call lcr_answer when bridging. modified: chan_lcr.c
* fixed trace bugSuper User2008-07-241-0/+2
| | | | | | | added ast_setstate after pbx_start() modified: chan_lcr.c modified: mISDN.cpp modified: trace.h
* made lcr_read read frames in 160 bytes packets in rebuffer modeschlaile2008-07-221-1/+5
|
* rebuffer option for chan_lcr (160 bytes per frame)schlaile2008-07-201-0/+8
| | | | | | | | | | | | | | | l1-link state "unknown" if not known yet. removed root user check. modified: bchannel.c modified: bchannel.h modified: chan_lcr.c modified: chan_lcr.h modified: dss1.cpp modified: lcradmin.c modified: mISDN.cpp modified: main.c
* removed "lcr query", use "isdninfo" instead.Super User2008-07-181-50/+125
| | | | | | | | | | | | | fixed some unlocking in chan_lcr. fixed dead-lock issue with chan_lcr. modified: README modified: chan_lcr.c modified: chan_lcr.h modified: mISDN.cpp modified: mISDN.h modified: main.c
* disabled overlap dialing and dtmf digit forwarding, due to bug.Super User2008-06-281-0/+4
| | | | modified: chan_lcr.c
* no functional change:Super User2008-06-171-1/+1
| | | | | | | renamed 'handle' to 'sock' in some functions, because it is not the channel's handle, it's the socket modified: bchannel.c modified: chan_lcr.c
* fixed bchannel createSuper User2008-06-161-2/+3
| | | | modified: chan_lcr.c
* work, overlap dialing to chan_lcr doesn't work, so do en-bloc dialing until ↵Super User2008-06-151-2/+12
| | | | | | it is fixed. modified: chan_lcr.c
* fixed dialing bug to remote applicationSuper User2008-06-151-1/+1
| | | | | | | modified: action.cpp modified: apppbx.cpp modified: chan_lcr.c modified: mISDN.cpp
* chan_lcr: in lcr_in_information: information.id already contains theschlaile2008-06-141-1/+1
| | | | completely assembled extension, so strncpy is more appropriate :)
* made callerid handling work in call from asteriskschlaile2008-06-141-7/+22
| | | | | (Asterisk 1.4.18 at least changes cid records between call and setup ...) fixed Makefile (emacs kept complaining :) )
* changed long to int (64 bit system's compatibilty)Super User2008-06-141-6/+6
|
* workSuper User2008-06-071-10/+9Star
|
* *** CHAN_LCR is complete! ***Super User2008-06-071-26/+220
| | | | | | | | | | (not every detail tested yet) modified: bchannel.c modified: bchannel.h modified: chan_lcr.c modified: chan_lcr.h modified: mISDN.cpp
* free bchannels on broken pipe of remote applicationSuper User2008-06-061-42/+37Star
| | | | | | | | | work modified: chan_lcr.c modified: mISDN.cpp modified: mISDN.h modified: socket_server.c
* added Moh for HOLD/UNHOLD and app_lcr_configChristian Richter2008-06-061-1/+36
|
* work on chan_lcr: bridging works, interface selection possibleSuper User2008-06-061-115/+138
| | | | | | | | | | | | | | | | | | | | | | modified: Makefile modified: apppbx.cpp modified: apppbx.h modified: bchannel.c modified: bchannel.h modified: chan_lcr.c modified: chan_lcr.h modified: dss1.cpp modified: genext.c modified: joinremote.cpp modified: joinremote.h modified: mISDN.cpp modified: mISDN.h modified: macro.h modified: main.c modified: message.h modified: options.c modified: options.h modified: socket_server.c
* call instance is created when lcr_call is called, no we can be sure that ast ↵Super User2008-06-021-38/+33Star
| | | | | | thread is running. modified: chan_lcr.c
* LCR is now uses socket based mISDN V2 APISuper User2008-06-011-141/+284
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | *** chan_lcr, the Asterisk interface works (not complete yet). -> LCR can be used as Asterisk channel driver. modified: Makefile modified: Makefile.am modified: README modified: action.cpp modified: apppbx.cpp modified: bchannel.c modified: bchannel.h modified: callerid.c modified: cause.c modified: chan_lcr.c modified: chan_lcr.h modified: configure.ac modified: default/routing.conf modified: dss1.cpp modified: dss1.h modified: genrc.c modified: ie.cpp modified: interface.c modified: lcradmin.c modified: mISDN.cpp modified: mISDN.h modified: main.c modified: main.h modified: message.h modified: myisdn.h modified: route.c modified: socket_server.c modified: trace.h
* fix and workSuper User2008-05-251-22/+16Star
| | | | | | | | | | | modified: Makefile modified: action.cpp modified: bchannel.c modified: chan_lcr.c modified: extension.h modified: joinpbx.cpp modified: mISDN.cpp modified: message.h
* workSuper User2008-05-191-17/+17
|
* workSuper User2008-05-191-1/+1
| | | | modified: chan_lcr.c
* work on chan_lcrSuper User2008-05-191-59/+68
|
* lcr work (soon done :)Super User2008-05-181-123/+299
| | | | | | | | | modified: Makefile modified: bchannel.c modified: chan_lcr.c modified: chan_lcr.h modified: dss1.cpp modified: todo.txt
* work on chan_lcrSuper User2008-05-181-56/+210
| | | | | | | | | | | modified: action.cpp modified: apppbx.cpp modified: bchannel.c modified: chan_lcr.c modified: mISDN.cpp modified: message.h modified: route.c modified: route.h
* chan_lcr workSuper User2008-05-011-99/+229
| | | | | | | modified: bchannel.c modified: bchannel.h modified: chan_lcr.c modified: chan_lcr.h
* work on chan_lcrSuper User2008-05-011-218/+165Star
| | | | | | modified: Makefile modified: chan_lcr.c modified: chan_lcr.h
* work on chan_lcrSuper User2008-05-011-77/+282
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | modified: Makefile modified: action.cpp modified: action_efi.cpp modified: action_vbox.cpp modified: apppbx.cpp modified: apppbx.h modified: bchannel.c modified: bchannel.h new file: callerid.c new file: callerid.h modified: chan_lcr.c modified: chan_lcr.h modified: crypt.cpp modified: endpoint.cpp modified: endpointapp.cpp modified: interface.c modified: join.cpp modified: joinpbx.cpp modified: joinremote.cpp modified: mISDN.cpp modified: mail.c modified: main.h modified: message.h modified: port.cpp modified: route.c modified: route.h modified: socket_server.c modified: todo.txt modified: vbox.cpp modified: watch.c
* workSuper User2008-04-291-0/+41
| | | | modified: chan_lcr.c
* locking workSuper User2008-04-291-0/+5
| | | | modified: chan_lcr.c
* creation and termination of threadSuper User2008-04-291-4/+14
| | | | modified: chan_lcr.c
* lockingSuper User2008-04-291-12/+50
| | | | modified: chan_lcr.c
* Merge branch 'master' of ssh://jolly@www.mISDN.org/var/git/lcrSuper User2008-04-281-7/+85
|\ | | | | | | | | | | Conflicts: chan_lcr.c
| * chan_lcr has now a lcr_request function which should work basically, we only ↵root2008-04-261-8/+72
| | | | | | | | need the callref request mechanism here. We have also a lcr_ast_new function which produces an empty Asterisk channel object. The Call handler has now a pointer to the asterisk channel, the asterisk channel also holds a pointer to the Call handle, so they need to be created and destroyed together at the same time.