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>
29
26
(...and all the others that have been forgotten...) :-)
31
28
No support for Asterisk 1.0.x any more, you need at least
34
To support all fax features (e.g. fax polling), you
35
need version 3 of libcapi20.
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)
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
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).
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'.
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)
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))
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.
239
exten => s,1,capicommand(peerlink)
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.
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
254
exten => s,1,capicommand(ccpartybusy|${CCLINKAGEID}|yes)
256
exten => s,1,capicommand(ccpartybusy|${CCLINKAGEID}|no)
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:
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}/)
276
To deactivate a previously activated CCBS, use following command:
278
exten => s,1,capicommand(ccbsstop|${CCLINKAGEID})
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)
285
exten => s,1,capicommand(chat|salesmeeting||1,3-6)
375
454
If set on dial(), the called subaddress will be set to the content.
457
When using capicommand(ccbs|....), this variable is set to either "ERROR" or
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.
378
467
Can be set before answering and if set, the content is used for
379
468
IE 'Connected Number' on answering.