[Asterisk-Users] Problem with chan-capi: outgoing calls on two lines

Armin Schindler armin at melware.de
Mon Feb 27 08:05:03 MST 2006


On Mon, 27 Feb 2006, Karsten Wemheuer wrote:
> while testing the following scenario, I ran into trouble:
> One * box with two AVM active controllers in Point-to-Point-Mode is
> connected to another * box with ZapHFC/Quad-BRI cards using bristuff in
> NT-mode.
> All is working fine, I can call from one box to the other and vice
> versa.
> 
> But if I'll cut one line, it is not possible to place an outbound call
> from chan-capi accross the still existing line.
> 
> In detail:
> When all lines are connected, the first two calls are placed on line 1
> (which is on controller 1). The next two calls are placed on line 2 (on
> controller 2)
> If I'll cut line 2, all works as expected (I can place two calls on line
> 1).
> But if I'll cut line 1, leaving line 2 up and running, I can not place
> any call. The CLI tells something about "Protocol error layer 1 (broken
> line or B-channel removed by signalling protocol)" and "No one is
> available to answer at this time (1:0/0/0)"
> 
> If I do the same thing in the opposite direction (Calls are initiated
> from the other box with bristuff in NT-mode), all works fine.
> 
> What am I doing wrong (or is this a bug)?

This is not a bug, just normal behaviour.
chan_capi does not know about the status of the ISDN line, it assumes to be
usable when configured. So when you try to dial out chan_capi will choose
a channel/line according to internal list of free channels and selects it
in the CAPI request. When the driver reports an error via CAPI, 
chan_capi just signals this error to Asterisk. 
There is no logic in chan_capi to do something like:
 If the controller 1 isn't ready, use controller 2.

The same happens if the b-channels are already used by another
application/device.

Armin



More information about the asterisk-users mailing list