Sonus SBC 1k/2k stuck as T1 after changing DS1 type

I was bitten by this one recently and thought I’d share it.

tl;dr

After importing a known working “E1” config file into an SBC 1k/2k I found the ISDN will remain running in T1 mode – even though all of the running config says it’s E1. The fix is to reboot the box. Not even toggling back to T1 and then reinstating E1 fixed it for me – I had to go the reboot path.

Symptoms

I put my customer’s SBC upstream of their PABX one night and not long after I started receiving complaints of falls failing. Sure enough, the System / Statistics page was reporting an alarmingly high number of failed calls, although my test calls all seemed to succeed.

I eventually found the pattern – yes, calls were intermittently failing, and with an ISDN cause code 82: “Identified Channel Does Not Exist”. The failed calls were always for B-channels from 25 up. The penny dropped with a clang: it thinks it’s a T1.

Reproduce it

My customer had an SBC 2000 running v4.1.2 with 4 ISDN ports. I thought I’d see if the issue was present in my Lab’s SBC 1k running v5 b395 – and yes, the issue remains.

  1. Take a working SBC 1k. In my case I have my 2 E1 ISDNs looped back-to-back and all calls hairpin back to the SfB Conferencing Attendant. It’s all working fine. To help me test this I’ve set the ISDN Sig Gps for “Reverse Standard” Channel Hunting. (Had I done this initially on-site the problem would have been apparent straight away!)
  2. Back it up.
  3. Go to Tasks / Sonus SBC Factory Default. Select “Partial Factory Default” & click OK.
  4. When the box comes up, note that the DS1 port type and the ISDNs have all reset back to T1:
    DS1isT1
  5. Now go to Tasks / Import Partial Configuration and feed it the backup file above.
  6. When the box comes up this time, note that the DS1 port type and the ISDNs are all still T1. [I’m pretty sure the customer’s actually came up as E1, but here today they’ve stayed T1].
  7. Change them to E1:
    DS1isE1
  8. Looks good:
    ChannelMonitor2-AllE1
  9. Make a test call. Watch it fail:
    CallTrace-Setup
    CallTrace-ReleaseComplete
    (Ignore the typo from LX v2)

    com.sonus.sbc.isdn DEBUG (q931_machine.cpp:3003) - channel_id_ie is present channel number is =31 
    com.sonus.sbc.isdn ERROR (q931_machine.cpp:3034) - Q931Machine::ReceiveSetup: 0x4140e000 Demanded channel does not exist.
    com.sonus.sbc.isdn INFO (q931_coder.cpp:140) - Attempting to encode the CAUSE_AND_DIAGNOSTIC IE.
    com.sonus.sbc.isdn INFO (q931_coder.cpp:163) - Found CAUSE_AND_DIAGNOSTIC IE, encoding as is.
  10. Reboot the box one more time.
  11. Make a test call. Success!

The moral of the story?

Always give the SBC just one more reboot after you’ve completed your configuration and before you put it into service!

And maybe make a habit of setting your channel hunting to Reverse Standard.

 

– G.

5 Comments

Leave a Reply

Your email address will not be published.

... and please just confirm for me that you're not a bot first: Time limit is exhausted. Please reload the CAPTCHA.

This site uses Akismet to reduce spam. Learn how your comment data is processed.