Connect Asterisk to Alcatel OmniPCX 4400 via E1 and TE410P

Hi there.

I’m trying to connect to an OmniPCX 4400 via E1 and an TE410P. My problem is, that I can’t get calls on the E1 to work in either direction. This is my current setup:

OS: Ubuntu 14.04.3 LTS
Linux asterisk 3.19.0-49-generic #55~14.04.1-Ubuntu SMP Fri Jan 22 11:24:31 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

I’m using the following software, compiled from source:

  • asterisk-certified-13.1-cert3
  • dahdi-linux-complete-2.10.2+2.10.2
  • libpri-1.4.15
  • pjproject-2.4.5

The card is recognised as follows:

root@asterisk:~# lspci ... Communication controller: Xilinx Corporation Wildcard TE405P/TE410P (1st Gen) (rev 01) ... root@asterisk:~# dahdi_hardware pci:0000:06:03.0 wct4xxp+ 10ee:0314 Wildcard TE410P/TE405P (1st Gen)

As far as I can tell, things look not bad in asterisk either:

[CODE]
asterisk*CLI> dahdi show status
Description Alarms IRQ bpviol CRC Fra Codi Options LBO
T4XXP (PCI) Card 0 Span 1 OK 0 0 0 CCS HDB3 CRC4 0 db (CSU)/0-133 feet (DSX-1)
T4XXP (PCI) Card 0 Span 2 OK 0 0 0 CCS HDB3 CRC4 0 db (CSU)/0-133 feet (DSX-1)
T4XXP (PCI) Card 0 Span 3 OK 0 0 0 CCS HDB3 CRC4 0 db (CSU)/0-133 feet (DSX-1)
T4XXP (PCI) Card 0 Span 4 OK 0 0 0 CCS HDB3 CRC4 0 db (CSU)/0-133 feet (DSX-1)

asteriskCLI> dahdi show channels
Chan Extension Context Language MOH Interpret Blocked In Service Description
pseudo default default Yes
1 from-pstn default Yes
2 from-pstn default Yes
3 from-pstn default Yes
4 from-pstn default Yes
5 from-pstn default Yes
6 from-pstn default Yes
7 from-pstn default Yes
8 from-pstn default Yes
9 from-pstn default Yes
10 from-pstn default Yes
11 from-pstn default Yes
12 from-pstn default Yes
13 from-pstn default Yes
14 from-pstn default Yes
15 from-pstn default Yes
17 from-pstn default Yes
18 from-pstn default Yes
19 from-pstn default Yes
20 from-pstn default Yes
21 from-pstn default Yes
22 from-pstn default Yes
23 from-pstn default Yes
24 from-pstn default Yes
25 from-pstn default Yes
26 from-pstn default Yes
27 from-pstn default Yes
28 from-pstn default Yes
29 from-pstn default Yes
30 from-pstn default Yes
31 from-pstn default Yes
asterisk
CLI> dahdi show channel 1
Channel: 1
Description:
File Descriptor: 13
Span: 1
Extension:
Dialing: no
Context: from-pstn
Caller ID:
Calling TON: 0
Caller ID subaddress:
Caller ID name:
Mailbox: none
Destroy: 0
InAlarm: 0
Signalling Type: ISDN PRI
Radio: 0
Owner:
Real:
Callwait:
Threeway:
Confno: -1
Propagated Conference: -1
Real in conference: 0
DSP: no
Busy Detection: no
TDD: no
Relax DTMF: no
Dialing/CallwaitCAS: 0/0
Default law: alaw
Fax Handled: no
Pulse phone: no
HW Gains (RX/TX): Disabled/Disabled
SW Gains (RX/TX): 0.00/0.00
Dynamic Range Compression (RX/TX): 0.00/0.00
DND: no
Echo Cancellation:
1 taps
(unless TDM bridged) currently OFF
Wait for dialtone: 0ms
PRI Flags:
PRI Logical Span: Implicit
Hookstate (FXS only): Onhook

asterisk*CLI> pri show span 1
Primary D-channel: 16
Status: Up, Active

asterisk*CLI> pri show channels
PRI B Chan Call PRI Channel
Span Chan Chan Idle Level Call Name
1 1 Yes Yes Idle No
1 2 Yes Yes Idle No
1 3 Yes Yes Idle No
1 4 Yes Yes Idle No
1 5 Yes Yes Idle No
1 6 Yes Yes Idle No
1 7 Yes Yes Idle No
1 8 Yes Yes Idle No
1 9 Yes Yes Idle No
1 10 Yes Yes Idle No
1 11 Yes Yes Idle No
1 12 Yes Yes Idle No
1 13 Yes Yes Idle No
1 14 Yes Yes Idle No
1 15 Yes Yes Idle No
1 17 Yes Yes Idle No
1 18 Yes Yes Idle No
1 19 Yes Yes Idle No
1 20 Yes Yes Idle No
1 21 Yes Yes Idle No
1 22 Yes Yes Idle No
1 23 Yes Yes Idle No
1 24 Yes Yes Idle No
1 25 Yes Yes Idle No
1 26 Yes Yes Idle No
1 27 Yes Yes Idle No
1 28 Yes Yes Idle No
1 29 Yes Yes Idle No
1 30 Yes Yes Idle No
1 31 Yes Yes Idle No

asterisk*CLI> pri show span 1
Primary D-channel: 16
Status: Down, Active
Switchtype: EuroISDN
Type: CPE
Remote type: Unknown node type
Overlap Dial: 0
Logical Channel Mapping: 0
Timer and counter settings:
N200: 3
N202: 3
K: 7
T200: 1000
T201: 1000
T202: 2000
T203: 10000
T303: 4000
T305: 30000
T308: 4000
T309: 6000
T312: 6000
T313: 4000
T316: -1
N316: 2
T-HOLD: 4000
T-RETRIEVE: 4000
T-RESPONSE: 4000
T-STATUS: 4000
T-ACTIVATE: 10000
T-DEACTIVATE: 4000
T-INTERROGATE: 4000
T-RETENTION: 30000
T-CCBS1: 4000
T-CCBS2: 2700000
T-CCBS3: 20000
T-CCBS4: 5000
T-CCBS5: 3600000
T-CCBS6: 3600000
T-CCNR2: 10800000
T-CCNR5: 11700000
T-CCNR6: 11700000
Q931 RX: 0
Q931 TX: 0
Q921 RX: 0
Q921 TX: 28
Q921 Outstanding: 0 (TEI=0)
Total active-calls:0 global:0
CC records:
Overlap Recv: No
[/CODE]

The relevant config files:
dahdi/system.conf:

[CODE]

Autogenerated by /usr/sbin/dahdi_genconf on Fri Feb 5 16:01:05 2016

If you edit this file and execute /usr/sbin/dahdi_genconf again,

your manual changes will be LOST.

Dahdi Configuration File

This file is parsed by the Dahdi Configurator, dahdi_cfg

Span 1: TE4/0/1 “T4XXP (PCI) Card 0 Span 1” (MASTER)

span=1,1,0,ccs,hdb3,crc4

termtype: te

bchan=1-15,17-31
dchan=16
#echocanceller=mg2,1-15,17-31

Span 2: TE4/0/2 “T4XXP (PCI) Card 0 Span 2”

span=2,2,0,ccs,hdb3,crc4

termtype: te

bchan=32-46,48-62
dchan=47
#echocanceller=mg2,32-46,48-62

Span 3: TE4/0/3 “T4XXP (PCI) Card 0 Span 3”

span=3,3,0,ccs,hdb3,crc4

termtype: te

bchan=63-77,79-93
dchan=78
#echocanceller=mg2,63-77,79-93

Span 4: TE4/0/4 “T4XXP (PCI) Card 0 Span 4”

span=4,4,0,ccs,hdb3,crc4

termtype: te

bchan=94-108,110-124
dchan=109
#echocanceller=mg2,94-108,110-124

Global data

loadzone = de
defaultzone = de
[/CODE]

asterisk/dahdi-channels.conf

[CODE]
; Autogenerated by /usr/sbin/dahdi_genconf on Fri Feb 5 16:01:05 2016
; If you edit this file and execute /usr/sbin/dahdi_genconf again,
; your manual changes will be LOST.
; Dahdi Channels Configurations (chan_dahdi.conf)
;
; This is not intended to be a complete chan_dahdi.conf. Rather, it is intended
; to be #include-d by /etc/chan_dahdi.conf that will include the global settings
;

; Span 1: TE4/0/1 “T4XXP (PCI) Card 0 Span 1” (MASTER)
;group=0,11
context=from-pstn
switchtype = euroisdn
signalling = pri_cpe
channel => 1-15,17-31
context = default
group = 1
[/CODE]

extensions.conf - as provided using “make samples”, plus:

... [from-pstn] include => demo ...

Calls fail e.g. as follows:

-- Executing [411234@internal:1] Dial("PJSIP/7000-00000000", "DAHDI/g1/1234") in new stack -- Requested transfer capability: 0x00 - SPEECH -- Called DAHDI/g1/1234 == Primary D-Channel on span 1 up -- Span 1: Channel 0/1 got hangup, cause 27 -- DAHDI/i1/1234-1 is circuit-busy -- Hungup 'DAHDI/i1/1234-1' == Everyone is busy/congested at this time (1:0/1/0) -- Auto fallthrough, channel 'PJSIP/7000-00000000' status is 'CONGESTION'

A PRI debug looks like this:

asterisk*CLI> pri set debug on span 1 Enabled debugging on span 1 PRI Span: 1 TEI=0 Sending SABME PRI Span: 1 TEI=0 MDL-ERROR (G): T200 expired N200 times sending SABME in state 5(Awaiting establishment) PRI Span: 1 Changing from state 5(Awaiting establishment) to 4(TEI assigned) PRI Span: 1 TEI=0 DL event: Q931_DL_EVENT_DL_RELEASE_IND(3) PRI Span: 1 SAPI/TEI=0/0 Kick starting link PRI Span: 1 TEI=0 Sending SABME PRI Span: 1 Changing from state 4(TEI assigned) to 5(Awaiting establishment) PRI Span: 1 TEI=0 Sending SABME PRI Span: 1 TEI=0 Sending SABME PRI Span: 1 TEI=0 Sending SABME PRI Span: 1 TEI=0 MDL-ERROR (G): T200 expired N200 times sending SABME in state 5(Awaiting establishment) PRI Span: 1 Changing from state 5(Awaiting establishment) to 4(TEI assigned) PRI Span: 1 TEI=0 DL event: Q931_DL_EVENT_DL_RELEASE_IND(3) PRI Span: 1 SAPI/TEI=0/0 Kick starting link PRI Span: 1 TEI=0 Sending SABME PRI Span: 1 Changing from state 4(TEI assigned) to 5(Awaiting establishment) PRI Span: 1 TEI=0 Sending SABME PRI Span: 1 TEI=0 Sending SABME PRI Span: 1 TEI=0 Sending SABME PRI Span: 1 TEI=0 MDL-ERROR (G): T200 expired N200 times sending SABME in state 5(Awaiting establishment) PRI Span: 1 Changing from state 5(Awaiting establishment) to 4(TEI assigned) PRI Span: 1 TEI=0 DL event: Q931_DL_EVENT_DL_RELEASE_IND(3) -- Executing [411234@internal:1] Dial("PJSIP/7000-00000000", "DAHDI/g1/Le1234") in new stack PRI Span: 1 -- Making new call for cref 32769 -- Requested transfer capability: 0x00 - SPEECH PRI Span: 1 PRI Span: 1 > DL-DATA request PRI Span: 1 > Protocol Discriminator: Q.931 (8) len=31 PRI Span: 1 > TEI=0 Call Ref: len= 2 (reference 1/0x1) (Sent from originator) PRI Span: 1 > Message Type: SETUP (5) PRI Span: 1 TEI=0 Sending SABME PRI Span: 1 Changing from state 4(TEI assigned) to 5(Awaiting establishment) PRI Span: 1 TEI=0 Just queued I-frame since in state 5(Awaiting establishment) PRI Span: 1 q931.c:6350 q931_setup: Call 32769 enters state 1 (Call Initiated). Hold state: Idle -- Called DAHDI/g1/Le1234 PRI Span: 1 TEI=0 Sending SABME PRI Span: 1 TEI=0 Sending SABME PRI Span: 1 TEI=0 Sending SABME PRI Span: 1 TEI=0 MDL-ERROR (G): T200 expired N200 times sending SABME in state 5(Awaiting establishment) PRI Span: 1 Changing from state 5(Awaiting establishment) to 4(TEI assigned) PRI Span: 1 TEI=0 DL event: Q931_DL_EVENT_DL_RELEASE_IND(3) PRI Span: 1 Cancel call cref=32769 on channel 1 in state 1 (Call Initiated) PRI Span: 1 T303 timed out. cref:32769 PRI Span: 1 PRI Span: 1 > DL-DATA request PRI Span: 1 > Protocol Discriminator: Q.931 (8) len=31 PRI Span: 1 > TEI=0 Call Ref: len= 2 (reference 1/0x1) (Sent from originator) PRI Span: 1 > Message Type: SETUP (5) PRI Span: 1 TEI=0 Sending SABME PRI Span: 1 Changing from state 4(TEI assigned) to 5(Awaiting establishment) PRI Span: 1 TEI=0 Just queued I-frame since in state 5(Awaiting establishment) PRI Span: 1 Cancel call after data link failure PRI Span: 1 q931.c:9687 pri_dl_down_cancelcall: Call 32769 enters state 0 (Null). Hold state: Idle PRI Span: 1 q931.c:9622 pri_internal_clear: alive 1, hangupack 1 Span 1: Processing event PRI_EVENT_HANGUP(6) == Primary D-Channel on span 1 up -- Span 1: Channel 0/1 got hangup, cause 27 -- DAHDI/i1/1234-1 is circuit-busy PRI Span: 1 q931.c:7151 q931_hangup: Hangup other cref:32769 PRI Span: 1 q931.c:6908 __q931_hangup: ourstate Null, peerstate Null, hold-state Idle PRI Span: 1 Destroying call 0x7f10ac005570, ourstate Null, peerstate Null, hold-state Idle -- Hungup 'DAHDI/i1/1234-1' == Everyone is busy/congested at this time (1:0/1/0) -- Auto fallthrough, channel 'PJSIP/7000-00000000' status is 'CONGESTION' PRI Span: 1 TEI=0 Sending SABME PRI Span: 1 TEI=0 Sending SABME PRI Span: 1 TEI=0 Sending SABME PRI Span: 1 TEI=0 MDL-ERROR (G): T200 expired N200 times sending SABME in state 5(Awaiting establishment) PRI Span: 1 Changing from state 5(Awaiting establishment) to 4(TEI assigned) PRI Span: 1 TEI=0 DL event: Q931_DL_EVENT_DL_RELEASE_IND(3) PRI Span: 1 SAPI/TEI=0/0 Kick starting link PRI Span: 1 TEI=0 Sending SABME PRI Span: 1 Changing from state 4(TEI assigned) to 5(Awaiting establishment) PRI Span: 1 TEI=0 Sending SABME PRI Span: 1 TEI=0 Sending SABME PRI Span: 1 TEI=0 Sending SABME PRI Span: 1 TEI=0 MDL-ERROR (G): T200 expired N200 times sending SABME in state 5(Awaiting establishment) PRI Span: 1 Changing from state 5(Awaiting establishment) to 4(TEI assigned) PRI Span: 1 TEI=0 DL event: Q931_DL_EVENT_DL_RELEASE_IND(3) PRI Span: 1 SAPI/TEI=0/0 Kick starting link PRI Span: 1 TEI=0 Sending SABME PRI Span: 1 Changing from state 4(TEI assigned) to 5(Awaiting establishment) PRI Span: 1 TEI=0 Sending SABME PRI Span: 1 TEI=0 Sending SABME PRI Span: 1 TEI=0 Sending SABME PRI Span: 1 TEI=0 MDL-ERROR (G): T200 expired N200 times sending SABME in state 5(Awaiting establishment) PRI Span: 1 Changing from state 5(Awaiting establishment) to 4(TEI assigned) PRI Span: 1 TEI=0 DL event: Q931_DL_EVENT_DL_RELEASE_IND(3) PRI Span: 1 SAPI/TEI=0/0 Kick starting link PRI Span: 1 TEI=0 Sending SABME PRI Span: 1 Changing from state 4(TEI assigned) to 5(Awaiting establishment) PRI Span: 1 TEI=0 Sending SABME asterisk*CLI> pri set debug off span 1 Disabled debugging on span 1 asterisk*CLI>

Incoming calls don’t even generate output on the console. I’ve got a PRI tester (Acterna) which I’ve used to check the cabling: from the tester to the Alcatel, the line is green completely (L1 and L2) and I can place calls. Plugging the Acterna to the TE410P yields a green L1 signal, but the L2 LED stays red - so there’s something fishy in my configuration, only that I currently can’t tell what. The Alcatel is configured as described in http://www.voip-info.org/wiki/view/Alcatel+4400+via+PRI

Any ideas?

I’ve also tried the latest dahdi-Version (2.11.0) which yielded a quite instable setup. Also I’ve tried the ubuntu asterisk packages and I gave the freepbx a try in order to mitigate some probable asterisk-dahdi-libpri mess.

Right now, I’m out of ideas what else to test.

I’m not very familiar with E1 connection, but based on your log output you have hangup cause 27

Cause No. 27 - destination out of order.
This cause indicates that the destination indicated by the user cannot be reached because the interface to the destination is not functioning correctly. The term “not functioning correctly” indicates that a signal message was unable to be delivered to the remote party; e.g., a physical layer or data link layer failure at the remote party or user equipment off–line.

Yeah, from what I can tell is, that layer2 doesn’t come up for whatever reason - thing is, I’m not able to spot the reason why the layer2 doesn’t work. From what I understand (which may be wrong, of course :wink: ) this seems to have something to do either with the installed packages or my configuration; I don’t think that there is a hardware problem at this point, as layer1 is working - or isnt’ it?

if E1’s from a carrier used to connect directly to the 4400 the more than likely it is expecting to be CPE side. I doubt unless you configured it otherwise the 4400 is network side.

One side has to be network the other side cpe.

There is no carrier involved. I basically want to connect an asterisk directly to an in-house 4400 in order to use asterisk as a SIP gateway to the outside world.

So, as described in http://www.voip-info.org/wiki/view/Alcatel+4400+via+PRI, the 4400 is configured like

...
3. Set the physical link parameters
- Under Shelf/Board/PRA2/Digital Access set 
  - Network mode=yes 
  - CRC4=yes
...
  • which is then my network side - and the asterisk consequently as cpe; and the ISDN layer1 is then also working, there’s no LOS etc. Only layer2 isn’t – which is currently my problem that I don’t understand; it would be easier to understand if it would fail completely :wink:

if you are satisfied that you have correctly setup a cpe to network configuration then perhaps you might confirm if you are using a e1 crossover cable?

I’m connecting to the PRA-Card as follows (Alcatel has it’s own proprietary cable):

Alcatel side                          Asterisk side
                       Pin              Pin
Pair1 red    txa        3                2    (rx)
Pair1 blue   txb        6                1    (rx)

Pair2 red    rxa        4                5    (tx)
Pair2 blue   rxb        5                4    (tx)

On the left you can see the connection from the tester to the Alcatel (tester in cpe mode) and on the right there’s the tester connected to the TE410P (tester in net mode) - with the L2 led in red:

Possible cable issue I would say make sure the cable is correct. With an incorrect cable it is possible to get a physical connection and a loss of signal / framing issues.

You might want to test with a straight thru and crossover.

Take a look at here:

http://www.voip-info.org/wiki/view/crossover+T1+cable

Also people have had similar issues:

http://forums.asterisk.org/viewtopic.php?f=14&t=87570

If a SABME issue it refer to layer 2 issue, cables and others is related to layer 1.
Therefore please check your settings on both side, one should be act a network and other point as user, both side couldn’t have same setting, otherwise could get SABME message.
By the way on asterisk configuration check your chan_dahdi.conf, should check the following parameters, and others ISDN parameters.

pri_cpe: PRI signalling, CPE side
pri_net: PRI signalling, Network side

on chan_dahdi.conf at the end of the file should included

#include dahdi-channels.conf

good luck!