Home   Evan Doorbell Tapes   Projects   Docs

PRI Trunking BCM50 and Cisco ISR 2851

This is something I struggled with for a long while, yet the fix is rather simple. For whatever reason, the BCM50's Q.931 implementation does *not* like the Cisco sending the "CONNECTED NUMBER" information element. It took me a while to figure this out, but when I did...boy was I happy.

Configure the BCM's PRI as follows:

Trunk type: PRI
Protocol: NI-2
NSF extension: None
B channel selection: Descending Sequential
Clock source: Primary external
CO fail: TIA-547A
Interface levels: ISDN
Framing: ESF
Line coding: B8ZS
Internal CSU: [check]
CSU line builid: 0 dB

Configure the Cisco's D channel as follows (example):

interface Serial0/1/1:23
description BCM50
no ip address
encapsulation hdlc
isdn switch-type primary-ni
isdn protocol-emulate network
isdn incoming-voice voice
isdn supp-service name calling
isdn negotiate-bchan
no isdn outgoing display-ie
no isdn outgoing ie connected-number
no cdp enable
end

The key is setting "no isdn outgoing ie connected-number" on the PRI facing the BCM. If you don't do this, you will find that the BCM will receive calls over the PRI without issue, but placed calls will drop with "Invalid IE" as soon as they supervise. Setting "isdn supp-service name calling" enables calling name display, which is nice to have. Without this, all you'll get is the calling party number.

UPDATE 2021-01-17: I ran into a situation where when the far side returns the called party's display name (not common, but is possible), the BCM50 "wigs out" and dumps the call. Simply adding "no isdn outgoing display-ie" fixes this. I have updated the D channel config above to reflect this.

And, with that, you have a fully functioning PRI trunk!