need help getting ISDN talking to Cisco 3845
Our FreeSWITCH setup has an existing T1 using RBS to talk to a digital modem pack in a Cisco 3845. I'm interested in changing from RBS to ISDN. I changed both sides, restart things, and see FreeSWITCH report: 2009-04-07 18:53:15 [ERR] Span:0 Q.921() Failed to establish Q.921 link in 3 retries 2009-04-07 18:54:40 [ERR] Span:0 Q.921() Failed to establish Q.921 link in 3 retries 2009-04-07 18:55:36 [ERR] Span:0 Q.921() Failed to establish Q.921 link in 3 retries 2009-04-07 18:55:45 [NOTICE] Span:0 Q.921() I frame in invalid state ignored 2009-04-07 18:55:46 [NOTICE] Span:0 Q.921() I frame in invalid state ignored 2009-04-07 18:55:47 [NOTICE] Span:0 Q.921() I frame in invalid state ignored 2009-04-07 18:55:48 [NOTICE] Span:0 Q.921() I frame in invalid state ignored I've attached the configs and Cisco debug below. This is using the native ISDN support in FreeSWITCH with a Sangoma A104d on FreeBSD 6.4. I unfortunately don't currently speak ISDN (though I'm starting to pick up a little as a result of this exercise) ... suggestions / hints regarding what's going on and how to resolve it would be welcomed. -- John ------------------------------ wanpipe2.conf ------------------------------- [devices] wanpipe2 = WAN_AFT_TE1, Comment [interfaces] wbg1 = wanpipe2, , TDM_VOICE, Comment [wanpipe2] CARD_TYPE = AFT S514CPU = A CommPort = PRI AUTO_PCISLOT = NO PCISLOT = 5 PCIBUS = 5 FE_MEDIA = T1 FE_LCODE = B8ZS FE_FRAME = ESF FE_LINE = 2 TE_CLOCK = MASTER TE_REF_CLOCK = 1 TE_HIGHIMPEDANCE = NO TE_RX_SLEVEL = 120 LBO = 0DB FE_TXTRISTATE = NO MTU = 1500 UDPPORT = 9000 TTL = 255 IGNORE_FRONT_END = NO TDMV_SPAN = 2 TDMV_DCHAN = 0 TDMV_HW_DTMF = YES [wbg1] ACTIVE_CH = ALL TDMV_ECHO_OFF = NO TDMV_HWEC = YES ------------------------------ zaptel.conf --------------------------------- #Sangoma A104 port 2 [slot:5 bus:5 span:2] <wanpipe2> span=2,0,0,esf,b8zs bchan=25-47 dchan=48 ------------------------------ openzap.conf -------------------------------- [span zt] ; A104D FE 2 1-6 MICA name => Cisco Digital Modem trunk_type => t1 number => 2487 b-channel => 25-47 d-channel => 48 --------------------------- openzap.conf.xml ------------------------------- <pri_spans> <span id="2"> <!-- Log Levels: none, alert, crit, err, warning, notice, info, debug --> <param name="q921loglevel" value="info"/> <param name="q931loglevel" value="info"/> <param name="mode" value="net"/> <param name="dialect" value="national"/> <param name="dialplan" value="XML"/> <param name="context" value="default"/> </span> </pri_spans> ------------------------------ Cisco config -------------------------------- controller T1 1/0 framing ESF linecode b8zs cablelength short 220 pri-group timeslots 1-24 interface Serial1/0:23 no ip address encapsulation hdlc isdn switch-type primary-ni isdn incoming-voice modem isdn calling-number 2487 no cdp enable ------------------------------ Cisco debug --------------------------------- #show isdn stat Global ISDN Switchtype = primary-ni ISDN Serial1/0:23 interface dsl 0, interface ISDN Switchtype = primary-ni Layer 1 Status: ACTIVE Layer 2 Status: TEI = 0, Ces = 1, SAPI = 0, State = MULTIPLE_FRAME_ESTABLISHED Layer 3 Status: 0 Active Layer 3 Call(s) Active dsl 0 CCBs = 0 The Free Channel Mask: 0x807FFFFF Number of L2 Discards = 2, L2 Session ID = 117 Total Allocated ISDN CCBs = 0 Apr 7 22:53:44.264: ISDN Se1/0:23 Q921: L2_EstablishDataLink: sending SABME Apr 7 22:53:44.264: ISDN Se1/0:23 Q921: User TX -> SABMEp sapi=0 tei=0 Apr 7 22:53:44.312: ISDN Se1/0:23 Q921: User RX <- UAf sapi=0 tei=0 Apr 7 22:53:44.312: %CSM-5-PRI: add PRI at 1/0:23 (index 0) Apr 7 22:53:44.312: %ISDN-6-LAYER2UP: Layer 2 for Interface Se1/0:23, TEI 0 cha nged to up Apr 7 22:53:47.268: ISDN Se1/0:23 Q921: User RX <- RRp sapi=0 tei=0 nr=0 Apr 7 22:53:47.268: ISDN Se1/0:23 Q921: User TX -> RRf sapi=0 tei=0 nr=0 prepnet-rt# Apr 7 22:53:57.336: ISDN Se1/0:23 Q921: User RX <- RRp sapi=0 tei=0 nr=0 Apr 7 22:53:57.336: ISDN Se1/0:23 Q921: User TX -> RRf sapi=0 tei=0 nr=0 prepnet-rt# Apr 7 22:54:11.692: ISDN Se1/0:23 Q921: User RX <- SABMEp sapi=0 tei=0 Apr 7 22:54:11.692: ISDN Se1/0:23 Q921: User TX -> UAf sapi=0 tei=0 Apr 7 22:54:21.760: ISDN Se1/0:23 Q921: User RX <- RRp sapi=0 tei=0 nr=0 Apr 7 22:54:21.760: ISDN Se1/0:23 Q921: User TX -> RRf sapi=0 tei=0 nr=0 Apr 7 22:54:51.760: ISDN Se1/0:23 Q921: User TX -> RRp sapi=0 tei=0 nr=0 Apr 7 22:54:52.760: ISDN Se1/0:23 Q921: User TX -> RRp sapi=0 tei=0 nr=0 Apr 7 22:54:53.760: ISDN Se1/0:23 Q921: User TX -> RRp sapi=0 tei=0 nr=0 Apr 7 22:54:54.760: ISDN Se1/0:23 Q921: User TX -> RRp sapi=0 tei=0 nr=0 Apr 7 22:54:55.760: ISDN Se1/0:23 Q921: L2_EstablishDataLink: sending SABME Apr 7 22:54:55.760: ISDN Se1/0:23 Q921: User TX -> SABMEp sapi=0 tei=0 Apr 7 22:54:56.760: ISDN Se1/0:23 Q921: User TX -> SABMEp sapi=0 tei=0 Apr 7 22:54:57.760: ISDN Se1/0:23 Q921: User TX -> SABMEp sapi=0 tei=0 Apr 7 22:54:58.760: ISDN Se1/0:23 Q921: User TX -> SABMEp sapi=0 tei=0 Apr 7 22:54:59.760: %CSM-5-PRI: delete PRI at 1/0:23 (index 0) Apr 7 22:54:59.760: %ISDN-6-LAYER2DOWN: Layer 2 for Interface Se1/0:23, TEI 0 c hanged to down Apr 7 22:54:59.760: ISDN Se1/0:23 Q931: Ux_DLRelInd: DL_REL_IND received from L 2 Apr 7 22:55:04.760: ISDN Se1/0:23 Q921: L2_EstablishDataLink: sending SABME Apr 7 22:55:04.760: ISDN Se1/0:23 Q921: User TX -> SABMEp sapi=0 tei=0 Apr 7 22:55:05.760: ISDN Se1/0:23 Q921: User TX -> SABMEp sapi=0 tei=0 Apr 7 22:55:05.872: ISDN Se1/0:23 Q921: User RX <- RRp sapi=0 tei=0 nr=0 Apr 7 22:55:06.760: ISDN Se1/0:23 Q921: User TX -> SABMEp sapi=0 tei=0 Apr 7 22:55:07.760: ISDN Se1/0:23 Q921: User TX -> SABMEp sapi=0 tei=0 Apr 7 22:55:08.760: ISDN Se1/0:23 Q931: Ux_DLRelInd: DL_REL_IND received from L 2 Apr 7 22:55:13.760: ISDN Se1/0:23 Q921: L2_EstablishDataLink: sending SABME Apr 7 22:55:13.760: ISDN Se1/0:23 Q921: User TX -> SABMEp sapi=0 tei=0 Apr 7 22:55:14.760: ISDN Se1/0:23 Q921: User TX -> SABMEp sapi=0 tei=0 Apr 7 22:55:15.760: ISDN Se1/0:23 Q921: User TX -> SABMEp sapi=0 tei=0 Apr 7 22:55:15.772: ISDN Se1/0:23 Q921: User RX <- UAf sapi=0 tei=0 Apr 7 22:55:15.772: %CSM-5-PRI: add PRI at 1/0:23 (index 0) Apr 7 22:55:15.772: %ISDN-6-LAYER2UP: Layer 2 for Interface Se1/0:23, TEI 0 cha nged to up Apr 7 22:55:15.772: ISDN Se1/0:23 Q921: User TX -> INFO sapi=0 tei=0, ns=0 nr=0 Apr 7 22:55:15.772: ISDN Se1/0:23 Q931: RESTART pd = 8 callref = 0x0000 Restart Indicator i = 0x87 Apr 7 22:55:16.772: ISDN Se1/0:23 Q921: S7_T200_EXPIRY: VA = 0, VS = 1 Apr 7 22:55:16.772: ISDN Se1/0:23 Q921: User TX -> INFOp sapi=0 tei=0, ns=0 nr= 0 Apr 7 22:55:16.772: ISDN Se1/0:23 Q931: RESTART pd = 8 callref = 0x0000 Restart Indicator i = 0x87 Apr 7 22:55:17.772: ISDN Se1/0:23 Q921: User TX -> INFOp sapi=0 tei=0, ns=0 nr= 0 Apr 7 22:55:17.772: ISDN Se1/0:23 Q931: RESTART pd = 8 callref = 0x0000 Restart Indicator i = 0x87 Apr 7 22:55:17.784: ISDN Se1/0:23 Q921: User RX <- RRf sapi=0 tei=0 nr=1 Apr 7 22:55:45.773: ISDN Se1/0:23 Q921: User TX -> INFO sapi=0 tei=0, ns=1 nr=0 Apr 7 22:55:45.773: ISDN Se1/0:23 Q931: RESTART pd = 8 callref = 0x0000 Restart Indicator i = 0x87 Apr 7 22:55:46.773: ISDN Se1/0:23 Q921: S7_T200_EXPIRY: VA = 1, VS = 2 Apr 7 22:55:46.773: ISDN Se1/0:23 Q921: User TX -> INFOp sapi=0 tei=0, ns=1 nr= 0 Apr 7 22:55:46.773: ISDN Se1/0:23 Q931: RESTART pd = 8 callref = 0x0000 Restart Indicator i = 0x87 Apr 7 22:55:47.773: ISDN Se1/0:23 Q921: User TX -> INFOp sapi=0 tei=0, ns=1 nr= 0 Apr 7 22:55:47.773: ISDN Se1/0:23 Q931: RESTART pd = 8 callref = 0x0000 Restart Indicator i = 0x87 ------------------------------------------------------------------------- | Feith Systems | Voice: 1-215-646-8000 | Email: john@feith.com | | John Wehle | Fax: 1-215-540-5495 | | -------------------------------------------------------------------------
John, Okay, a few things. First off, the wanpipe2.conf file has a booboo. This line is WRONG: TDMV_DCHAN = 0 For ISDN in North America you want: TDMV_DCHAN = 24 Also, I recommend changing this line: wbg1 = wanpipe2, , TDM_VOICE, Comment To this: wbg1 = wanpipe2, , TDM_VOICE_API, Comment A sample config for Sangoma wanpipeX.conf is here: http://wiki.freeswitch.org/wiki/OpenZAP#Wanpipe_mode Okay, ISDN 101: there is a "network" side and a "user" side. (Also called "terminal" or "cpe"). From what I see here you are trying to have FS be the network side and the Cisco is the user side. Assuming that this is what you want then you will need to use ozmod_libpri because the default OpenZAP PRI stack does not currently support being the network side. You will need to download and install libpri from downloads.digium.com and then you'll need to reconfigure openzap. Follow these instructions to get libpri and openzap working together: http://wiki.freeswitch.org/wiki/OpenZAP#Adding_libpri_Support And then check out this example openzap.conf.xml file for using libpri: http://wiki.freeswitch.org/wiki/Openzap.conf.xml_Examples#Using_with_PRI_.28... (Note that you don't want 'cpe' here but rather 'network'.) Now, on the Cisco side... sorry, can't help you. However, I don't see any glaring gotchas from looking at the configs. I don't see where timing is specified nor do I see where the d channel is specified. Hopefully you can confirm that those are set properly. (The cisco needs to be a "slave" to the FS clock, also called "receiving clock"; d-channel is 23 or 24 depending on how cisco numbers their channels.) Have fun! :) -MC On Tue, Apr 7, 2009 at 5:37 PM, John Wehle <john@feith.com> wrote:
Our FreeSWITCH setup has an existing T1 using RBS to talk to a digital modem pack in a Cisco 3845. I'm interested in changing from RBS to ISDN. I changed both sides, restart things, and see FreeSWITCH report:
participants (2)
-
John Wehle
-
Michael Collins