Karsten Wemheuer
2006-Feb-27 06:59 UTC
[Asterisk-Users] Problem with chan-capi: outgoing calls on two lines
Hello, 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)? Thanks in advance, Karsten
Armin Schindler
2006-Feb-27 08:05 UTC
[Asterisk-Users] Problem with chan-capi: outgoing calls on two lines
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