~ubuntu-branches/debian/squeeze/asterisk-chan-capi/squeeze

« back to all changes in this revision

Viewing changes to README

  • Committer: Bazaar Package Importer
  • Author(s): Mark Purcell, Kilian Krause
  • Date: 2007-11-30 15:54:46 UTC
  • mfrom: (1.1.5 upstream)
  • Revision ID: james.westby@ubuntu.com-20071130155446-09q50fizvzsrkind
Tags: 1.0.2-1
* Extremadura release ;-)

[ Kilian Krause ]
* New upstream release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
(CAPI*) chan_capi a Common ISDN API 2.0 implementation
2
 
for Asterisk/OpenPBX
 
1
(CAPI*) chan_capi a Common ISDN API 2.0 implementation for Asterisk
3
2
 
4
3
 Copyright (C) 2005-2007 Cytronics & Melware
5
4
 Armin Schindler <armin@melware.de>
8
7
 Copyright (C) 2002-2005 Junghanns.NET GmbH
9
8
 Klaus-Peter Junghanns <kpj@junghanns.net>
10
9
 
11
 
 Ported to OpenPBX.org 22nd October 2004,
12
 
 Rob Thomas, <xrobau@gmail.com>
13
 
 
14
10
This program is free software and may be modified and distributed under
15
11
the terms of the GNU Public License. There is _NO_ warranty for this!
16
12
 
25
21
Frank Sautter, levigo group
26
22
Hans Petter Selasky
27
23
Simon Peter <dn.tlp@gmx.net>
 
24
Mario Goegel <m.goegel@gmx.de>
28
25
 
29
26
(...and all the others that have been forgotten...) :-)
30
27
 
31
28
No support for Asterisk 1.0.x any more, you need at least
32
29
Asterisk 1.2.x
33
30
 
34
 
To support all fax features (e.g. fax polling), you
35
 
need version 3 of libcapi20.
36
 
 
37
31
This chan_capi version includes:
38
32
================================
39
33
- Multiple controller support
72
66
- CLI command "capi show channels" shows details on channel status.
73
67
- Asterisk 1.4 jitterbuffer configuration.
74
68
- some QSIG extensions (see README.qsig)
75
 
 
76
 
Permissions
77
 
===========
78
 
 
79
 
OpenPBX.org, by default, runs as the non-root user/group
80
 
openpbx/openpbx.  You must make sure that the /dev/capi* device files
81
 
are readable by OpenPBX.org either by changing the ownership or the
82
 
permissions of the the device files or by running OpenPBX.org as root.
 
69
- CCBS (call completion on busy subscriber)
 
70
- CAPI CHAT (CAPI MeetMe using onboard DSPs)
 
71
- KEYPAD digits detection
 
72
 
83
73
 
84
74
The Dial string
85
75
===============
104
94
         (Useful if additional digits shall be send afterwards or together
105
95
          with 'b' to get dialtone and then send the number, e.g. if otherwise
106
96
          no progress tones are available)
 
97
   's' : activate 'stay-online': don't disconnect CAPI connection on Hangup.
 
98
         This is needed to give additional commands like CCBS after Hangup.
 
99
         To really hangup the CAPI connection, use either capicommand(hangup)
 
100
         or wait for chan-capi/network timeout (about 20 seconds).
107
101
 
108
102
  If the <interface-name> is used in dialstring, be sure the name (specified
109
103
  in capi.conf) does not start with 'contr' or 'g'.
114
108
  capi.conf has been removed. The callerID is also taken from the calling channel.
115
109
 
116
110
 
 
111
CLI commands
 
112
============
 
113
 
 
114
capi info:
 
115
    Show chan-capi version info.
 
116
    Show status of available B-channels.
 
117
 
 
118
capi debug:
 
119
    Enable CAPI message verbosity.
 
120
 
 
121
capi no debug:
 
122
    Disable CAPI message verbosity.
 
123
 
 
124
capi show channels:
 
125
    Display detailed information on CAPI B-channels.
 
126
    (Description see below)
 
127
 
 
128
capi chatinfo:
 
129
    Show status of CAPI CHAT.
 
130
 
 
131
 
117
132
CAPI command application
118
133
========================
119
134
chan_capi provides an additional Asterisk application
201
216
        exten => s,1,capicommand(hold)
202
217
        exten => s,2,Wait(1)
203
218
        exten => s,3,Dial(CAPI/contr1/1234,60,M(capiect))
 
219
    Note: Normaly a PBX needs 'implicit call transfer', which is done by default
 
220
    with this command. But if the line needs real 'explicit call transfer', use
 
221
        exten => s,1,capicommand(ect|x)
 
222
    instead.
204
223
 
205
224
3PTY:
206
225
    Initiate a Three-Party Conference (must have one call on hold and one active call!).
213
232
        exten => s,1,capicommand(hold)
214
233
        exten => s,2,Dial(CAPI/contr1/1234,,M(capi3pty))
215
234
 
 
235
Peer link creation:
 
236
    Create a reference for chan-capi to know who is the calling channel on Dial().
 
237
    This is needed if you want to use CCBS/CCNR afterwards.
 
238
        Example:
 
239
        exten => s,1,capicommand(peerlink)
 
240
 
 
241
Hangup in mode 'stay-online':
 
242
    After hangup in 'stay-online' mode, the line isn't really disconnected
 
243
    until timeout or command:
 
244
        exten => s,1,capicommand(hangup)
 
245
    This works after capicommand(peerlink) only.
 
246
 
 
247
Set local party to 'busy' or 'free':
 
248
    Set the local phone to status to 'busy' or 'free' when
 
249
    awaiting a callback for CCBS/CCNR. If the network wants to
 
250
    call you back for CCBS/CCNR, chan-capi normaly doesn't know
 
251
    about the status of the extension who started the callback.
 
252
    By default chan-capi assumes 'free', but you can change that
 
253
    with:
 
254
        exten => s,1,capicommand(ccpartybusy|${CCLINKAGEID}|yes)
 
255
    or 
 
256
        exten => s,1,capicommand(ccpartybusy|${CCLINKAGEID}|no)
 
257
 
 
258
Call completion on subscriber busy (CCBS):
 
259
    To receive a callback when the dialed and busy party becomes free, aka
 
260
    call completion on subscriber busy, you can do the following:
 
261
        Example:
 
262
        exten => s,1,capicommand(peerlink)  ;to let chan-capi know who is the calling channel.
 
263
        exten => s,2,Dial(CAPI/contr1/123456,60,g)  ;'g' to go-on with the dialplan on busy.
 
264
        exten => s,3,NoOp(${CCLINKAGEID})  ;if this variable now contains a number, CCBS is possible.
 
265
            ;here you can ask the caller if CCBS shall be activated...
 
266
        exten => s,4,capicommand(ccbs|${CCLINKAGEID}|<context>|<exten>|<priority>)
 
267
        exten => s,5,NoOp(${CCBSSTATUS})  ;if CCBS was successfully enabled, it is set to "ACTIVATED".
 
268
    If the remote party becomes 'non-busy', the network initiates the callback which will be
 
269
    sent to the provided context/exten/priority. Of course, this only happens if your local
 
270
    phone is set to 'free' with capicommand(ccpartybusy), which is the default.
 
271
    In this context/exten/priority you should just setup a callfile to initiate an outgoing
 
272
    call from your extension to
 
273
        exten => s,1,Dial(CAPI/ccbs/${CCLINKAGEID}/)
 
274
 
 
275
Deactivate CCBS:
 
276
    To deactivate a previously activated CCBS, use following command:
 
277
        Example:
 
278
        exten => s,1,capicommand(ccbsstop|${CCLINKAGEID})
 
279
 
 
280
Chat (MeetMe/Conference):
 
281
    If the CAPI card/driver supports it, the caller can be put into a chat-room:
 
282
    (This uses the DSPs onboard a Dialogic DIVA Server Rev.2 card.)
 
283
        exten => s,1,capicommand(chat|<roomname>|<options>|controller)
 
284
                Example:
 
285
            exten => s,1,capicommand(chat|salesmeeting||1,3-6)
 
286
 
216
287
 
217
288
Using CLIR
218
289
==========
250
321
    
251
322
For normal PBX usage you would use the "b" option, always early B3.
252
323
 
 
324
 
253
325
Overlap sending (a.k.a. real dialtone)
254
326
======================================
255
327
When you dial an empty number, and have early B3 enabled, with:
259
331
At this point the channel is like a legacy phone, now you can send DTMF digits 
260
332
to dial.    
261
333
 
 
334
 
262
335
Example context for incoming calls on MSN 12345678:
263
336
===================================================
264
337
 
325
398
FAXPAGES      : Number of pages received.
326
399
FAXID         : The ID of the remote fax maschine.
327
400
 
 
401
KEYPAD digits in NT-mode
 
402
========================
 
403
If the device connected to a NT-mode port sends KEYPAD digits
 
404
instead of normal digits, this call is then send to extension
 
405
'Kxxx'. Where 'xxx' stands for the KEYPAD digits sent.
328
406
 
329
407
CLI command "capi show channels"
330
408
================================
347
425
  ton       : type of number value
348
426
  number    : the caller-number and destination-number
349
427
 
 
428
 
350
429
Asterisk variables used/set by chan_capi
351
430
========================================
352
431
 
373
452
 
374
453
CALLEDSUBADDRESS
375
454
    If set on dial(), the called subaddress will be set to the content.
376
 
 
 
455
 
 
456
CCBSSTATUS
 
457
    When using capicommand(ccbs|....), this variable is set to either "ERROR" or
 
458
    "ACTIVATED".
 
459
 
 
460
CCLINKAGEID
 
461
    If a Call-Linkage-Id is received for CCBS/CCNR, this variable contains this Id.
 
462
    But you need to use capicommand(peerlink) before dialing a CAPI channel, because
 
463
    of a design problem in Asterisk, chan-capi is not able to set channel variables
 
464
    of the calling channel.
 
465
 
377
466
CONNECTEDNUMBER
378
467
    Can be set before answering and if set, the content is used for
379
468
    IE 'Connected Number' on answering.