Commit Graph

546 Commits

Author SHA1 Message Date
Andreas Eversberg 705f2dac84 Fixed early audio with chan_lcr (Asterisk)
If progress message is received, go into proceeding state.

Send audio, if proceeding/alerting state, so RTP stream is sent in both
directions. This is essential when using NAT.
2012-12-16 10:11:47 +01:00
Andreas Eversberg d2bcbfbaf0 Fixed version issue of chan_lcr 2012-12-16 10:11:47 +01:00
Andreas Eversberg b4987df679 Updated MNCC interface
The structure of BEARER CAPABILITY has been expanded.
2012-12-16 10:11:47 +01:00
Andreas Eversberg 1fd1d5d17c SIP: Allow early audio on incomming connections at SIP interface
In order to provide internal tones, a clock is used to generate
chunks of 160 samples. If no tones are provided and if audio is
bridged, it is forwarded as usual.

In order to provide early audio on SIP trunk, "tones yes" must be set
at interface.conf.
In order to receive early audio from SIP trunk, "earlyb yes" must be
set at interface.conf.
2012-12-16 10:11:47 +01:00
Andreas Eversberg 9e6a068f25 Fix: Set correct local RTP port 2012-12-16 10:11:47 +01:00
Andreas Eversberg d3b4611440 Fix: Allow recording of audio for SIP/remote/GSM interfaces too 2012-12-16 10:11:47 +01:00
Andreas Eversberg 0562b894ff Fix: Track notification messages at partyline too
This is required, so inactive parties will be marked as beeing "on hold".
These parties will be removed from the bridge, so the partyline is not
disturbed by hold music comming from inactive parties.

Thanx to Atul for pointing to this bug.
2012-12-16 10:11:47 +01:00
Andreas Eversberg d19b20fa4e Removed obsolete logging code 2012-12-16 10:11:46 +01:00
Andreas Eversberg bdd274c5e8 Fix: Don't forward MESSAGE_TRAFFIC to endpoint instance
Thanx to Atul for catching this bug
2012-12-16 10:11:46 +01:00
Birger Harzenetter 0954d11aca Fix: Append information (overlap dialing) to Asterisk's extension string
Signed-off-by: Andreas Eversberg <jolly@eversberg.eu>
2012-12-16 10:11:46 +01:00
Andreas Eversberg b971fdeb62 Store caller/dialing info for calls via remote interfaces (chan_lcr) 2012-12-16 10:11:46 +01:00
Andreas Eversberg cde9a763b1 Fix: Polling of file descriptors
It is only done when enabled by config or when any SIP interface is
created.

Thanx to Wimpy for catching this bug.
2012-12-16 10:11:46 +01:00
Andreas Eversberg 2bdb5135a3 Fix: chan_lcr must use right context attribute for Asterisk version >= 11 2012-12-16 10:11:46 +01:00
Andreas Eversberg 0d719518fb Fix: Bind RTP/RTCP socket pairs correctly 2012-12-16 10:11:46 +01:00
Andreas Eversberg a296b797ba Fix: Always keep transmit timer on when mISDN channel is open
This way the buffer load is always calculated correctly.
2012-12-16 10:11:46 +01:00
Andreas Eversberg 29d2da58fc Fix: Encoding of 3PTY result facility IE 2012-12-16 10:11:46 +01:00
Andreas Eversberg c33007184d Fix: Send tones/patterns/announcements for remote connections 2012-12-16 10:11:46 +01:00
Andreas Eversberg 68ccf0448d Add screening of caller ID for remote (asterisk) connections 2012-12-16 10:11:46 +01:00
Andreas Eversberg 7f0d14c706 Cleanup: Make interface name be part of Port class 2012-12-16 10:11:46 +01:00
Andreas Eversberg bd2aa91302 chan_lcr: Select remote interface by chan_lcr
Usage: Dial(LCR/<interface>/<digits>/<options>)

The interface must match the interface name in interface.conf. If omitted,
the first remote interface is used.

Example:
Dial(LCR/ast/123) will send a call to LCR and select remote interface
'ast'.
Dial(LCR//123) will send a call to LCR and select the first remote
interface.

Now it is possible to have multiple remote interfaces.
2012-12-16 10:10:34 +01:00
Andreas Eversberg a28dde2f2b Fix: Match complete string when filtering for interface 2012-12-16 10:10:34 +01:00
Andreas Eversberg 948b837669 Display source and destination interface at endpoint logging 2012-12-16 10:10:34 +01:00
Andreas Eversberg 19f537c691 Fix: Prevent Asterisk from aborting when delivering ast_frames 2012-12-16 10:10:34 +01:00
Andreas Eversberg 464ed1f284 Fix: LCR's DTMF detection will be enabled and used by default
Using 'n' option will disable it
Using 'a' option will disable it and use Asterisk's DTMF detection instead.
2012-12-16 10:10:34 +01:00
Andreas Eversberg b5d6f1c72b Fix: Asterisk DTMF detection works now
To enable, use option "a".

-> for calls from LCR use lcr_config(a) in extensions.conf
-> for calls to LCR use Dial(LCR/pbx/<number>/a)
2012-12-16 10:10:34 +01:00
Andreas Eversberg 680147f78c Fix: chan_lcr will suppress audio traffic until ref is received
If no ref is received from LCR, the traffic may not be sent to LCR.
2012-12-16 10:10:34 +01:00
Andreas Eversberg fcc787b14d chan_lcr: Disabled bridge, because there is no concept right now. 2012-12-16 10:10:34 +01:00
Andreas Eversberg 72dada9cd5 Removed obsolete definition of media_type2name() from sip.h 2012-12-16 10:10:34 +01:00
Andreas Eversberg 49dd4be5b9 Fixed broken chan_lcr of last commit 2012-12-16 10:10:34 +01:00
Andreas Eversberg 4545bb054f Fixed compiling of chan_lcr with Asterisk 1.6.2.2 2012-12-16 10:10:33 +01:00
Andreas Eversberg 7440c9a44d Fix: Process tx-load when briding with jitter buffer disabled 2012-12-16 10:10:33 +01:00
Andreas Eversberg 71e76fd9e0 Updated default config examples 2012-12-16 10:10:33 +01:00
Andreas Eversberg b6a3cd5a8d Fixed parsing capability conditions 2012-12-16 10:10:33 +01:00
Andreas Eversberg 3f7ef909c9 Define prload of mISDN buffer by chan_lcr (required for fax)
Use q<ms> option to peload.
2012-12-16 10:10:33 +01:00
Andreas Eversberg 8b9bdad861 Bump version to 1.13 2012-12-16 10:10:33 +01:00
Andreas Eversberg 240562640f Maintain states for remote socket connections 2012-12-16 10:10:33 +01:00
Andreas Eversberg 04fc928a2c Implement 3PTY bridge of two 'join's. 2012-12-16 10:10:33 +01:00
Andreas Eversberg 30224b43e2 Add 3PTY facility to invoke conference call via functional protocol 2012-12-16 10:10:33 +01:00
Andreas Eversberg 623ef90b50 Don't remove lock, if other LCR is using it 2012-12-16 10:10:33 +01:00
Andreas Eversberg a698197188 Add conference mixing to LCR's internal bridge
Bride allow now to forward between two paries or mix between three to N
parties.
2012-12-16 10:10:33 +01:00
Andreas Eversberg ec40766edc Add global variable for Law encoded silence 2012-12-16 10:10:33 +01:00
Andreas Eversberg de6346a5bf Changed bridge structure to hold 1..n members instead of only 1..2 2012-12-16 10:10:33 +01:00
Andreas Eversberg f6aea744f8 Removed complete bchannel handling from chan_lcr
The remote application interface does not allow any bchannel to be
exported or imported. Audio traffic via socket interface is used instead.

The joinremote instance became obsolete and is removed.

The remote action (routing) became obsolete, use interface.conf instead.

The handling of loopback device became obsolete and was removed

The chan_lcr does not rely on mISDN anymore, that means:
- can be used with GSM and without mISDN at all.
- chan_lcr can be used as internal extension of LCR (e.g. SIP phone)
  (chan_lcr can be handled as any other interface)
- no loopback device to be used anymore.
2012-12-16 10:10:32 +01:00
Andreas Eversberg 6911e09b77 Allow calls to multiple interfaces simultaniosuly
For external calls, the list of interfaces is used to select the first
available/not busy interface. If the interface list is stated with +,
the call is forked to all interfaces.
2012-08-19 20:55:02 +02:00
Andreas Eversberg 2ccf098ec0 Fix: Make GSM BS compile without SIP support 2012-08-01 12:16:47 +02:00
Janis Ruksans 1e21f69321 List files for dist that are not picked up automatically from build
rules; and filter out unnecessary ones for distuninstallcheck.

Signed-off-by: Andreas Eversberg <jolly@eversberg.eu>
2012-06-30 14:04:23 +02:00
Janis Ruksans e88b4496da Reference the sources via $< for chan_lcr, and prefixing with $(srcdir)
otherwise. Note: Autoconf manual says that using $< in ordinary make
rules is not portable, but LCR is Linux specific anyway.

Signed-off-by: Andreas Eversberg <jolly@eversberg.eu>
2012-06-30 14:03:32 +02:00
Janis Ruksans 2dbfdb87dd Use variables set by configure script instead of installing files to a
hardcoded location. This is practically the same as the reverted part of
commit 51655a18 except that $(DESTDIR) *is not* prepended to CC defines;
doing so would break staged installs.

Signed-off-by: Andreas Eversberg <jolly@eversberg.eu>
2012-06-30 14:02:19 +02:00
Janis Ruksans b0764b4677 On many systems /var/run is not world-writeable, and writing PID fails
if LCR is not being run as root. The lock directory, on the contrary,
must be writable by the lcr process, and can be configured by the user.

Signed-off-by: Andreas Eversberg <jolly@eversberg.eu>
2012-06-28 08:11:57 +02:00
Janis Ruksans 7c12849b27 Use loops for str* checks and to install configuration and tone files,
with the actual files listed in make variables.

Signed-off-by: Andreas Eversberg <jolly@eversberg.eu>
2012-06-28 08:06:15 +02:00