[Freeswitch-users] FreeTDM - Sangoma B700 - ISDN connection questions - UK

Nazim Aghabayov nazim.aghabayov at gmail.com
Fri Jun 10 11:41:44 MSD 2011


Hello John,

I'm not an ISDN expert, but have some experience with PRI.
Have you checked the line? Sometimes bad physical interconnects makes 
line noisy.
Channels going up and down may indicate a physical line problem or 
inadequate grounding (or mixed signal / common grounds). I would disable 
hardware echo-canellation and hw. dtmf during the troubleshooting.
On PRI it's possible to trace the D channel with "wanpipemon -i w1g1 
-pcap -pcap_file isdn.pcap -prot ISDN -full -systime -c trd". It should 
be supported on BRI too, look through wanpipemon manual.

Best Regards,
Nazim


On 06/07/2011 02:36 AM, John wrote:
> Hello,
>
> I have just set up a FreeSWITCH box with a Sangoma B700 connected to 2 x
> ISDN2e lines (each 2B+D, so 4 voice channels) in UK, so supplied by BT
> Openreach.  There are a number of anomalies that I am trying to solve.
> [One of these is that 1 line is dead, but that is for BT Openreach to
> resolve rather than anyone on this list.]
>
> I have a few questions, but as they are all related, I hope you don't
> mind them in one post.  Some basics first.  The box is an Atom dual-core
> with 2GB of memory and a Sangoma B700 card.  It's built with Ubuntu
> 10.04.2 LTS server 64-bit, patched and up to date, and also runs dhcpd,
> lighttpd and sshd.  I built the Sangoma ISDN libraries and FreeSWITCH
> using the latest git versions I could ('make current' about 2 weeks
> ago).  We have incoming and outgoing calls working, but some incoming
> calls ring in the caller's ear, but nothing appears on the FreeSWITCH
> console, and others fail.  Rebooting the server cures this.  We have had
> problems with lines being disconnected and then reconnected, and it
> seems that FreeTDM/wanrouter/whatever doesn't recognise previously
> disconnected lines coming back into use, because a reboot finds lines
> that were previously reported disconnected ('wanrouter status' or 'ftdm
> list').  We have ongoing problems with one line that is 'disconnected'
> (wanpipe2/wp2) but the queries I am describing below apply equally when
> both lines are connected and working.
>
> 1. There seems to be a lot of ISDN 'chatter' with channels going up and
> down all the time even when the switch is completely idle.  Is this
> normal?  Here is my /log 7 showing two of the cycles (which appear to be
> about 50s apart):
>
> 2011-06-06 22:01:54.992467 [DEBUG] ftmod_sangoma_isdn_stack_rcv.c:681
> [SNGISDN Q921] wp1: Protocol: Data Link connection DN(4): Disconnect
> initiated(263)
> 2011-06-06 22:02:29.952464 [WARNING] ftmod_sangoma_isdn_stack_rcv.c:748
> [SNGISDN Q931] s1: Interface: Down(261): Dchan(285)
> 2011-06-06 22:02:29.952464 [DEBUG] ftmod_sangoma_isdn_cntrl.c:43
> [s1c1][1:1] Signalling link status changed to DOWN
> 2011-06-06 22:02:29.952464 [DEBUG] ftmod_sangoma_isdn_cntrl.c:43
> [s1c2][1:2] Signalling link status changed to DOWN
> 2011-06-06 22:02:29.952464 [DEBUG] ftmod_sangoma_isdn_cntrl.c:43
> [s1c3][1:3] Signalling link status changed to DOWN
> 2011-06-06 22:02:29.952464 [DEBUG] ftmod_sangoma_isdn_support.c:200
> [s1c1][1:1] Setting availability rate to:5
> 2011-06-06 22:02:29.952464 [DEBUG] mod_freetdm.c:2268 got clear channel
> sig [SIGSTATUS_CHANGED]
> 2011-06-06 22:02:29.952464 [DEBUG] ftmod_sangoma_isdn_support.c:186
> [s1c1][1:1] Setting availability rate to:5
> 2011-06-06 22:02:29.952464 [DEBUG] ftmod_sangoma_isdn_support.c:200
> [s1c2][1:2] Setting availability rate to:5
> 2011-06-06 22:02:29.952464 [INFO] mod_freetdm.c:2345 1:1 signalling
> changed to :DOWN
> 2011-06-06 22:02:29.952464 [DEBUG] ftmod_sangoma_isdn_support.c:186
> [s1c2][1:2] Setting availability rate to:5
> 2011-06-06 22:02:29.952464 [DEBUG] mod_freetdm.c:2268 got clear channel
> sig [SIGSTATUS_CHANGED]
> 2011-06-06 22:02:29.952464 [DEBUG] ftmod_sangoma_isdn_support.c:200
> [s1c3][1:3] Setting availability rate to:5
> 2011-06-06 22:02:29.952464 [INFO] mod_freetdm.c:2345 1:2 signalling
> changed to :DOWN
> 2011-06-06 22:02:29.952464 [DEBUG] ftmod_sangoma_isdn_support.c:186
> [s1c3][1:3] Setting availability rate to:5
> 2011-06-06 22:02:29.952464 [DEBUG] mod_freetdm.c:2268 got clear channel
> sig [SIGSTATUS_CHANGED]
> 2011-06-06 22:02:29.952464 [INFO] mod_freetdm.c:2345 1:3 signalling
> changed to :DOWN
> 2011-06-06 22:02:29.952464 [INFO] ftmod_sangoma_isdn_stack_rcv.c:631
> Received RESTART CFM (dChan:1 ces:0 type:1)
> 2011-06-06 22:02:29.952464 [DEBUG] ftmod_sangoma_isdn_stack_hndl.c:1179
> Receved RESTART, but Restart Indicator IE not present
> 2011-06-06 22:02:29.972464 [DEBUG] ftmod_sangoma_isdn_stack_rcv.c:681
> [SNGISDN Q921] wp1: Protocol: Data Link connection UP(3): UA frame with
> F-bit = 1(258)
> 2011-06-06 22:02:29.972464 [INFO] ftmod_sangoma_isdn_stack_rcv.c:631
> Received RESTART CFM (dChan:1 ces:0 type:0)
> 2011-06-06 22:02:29.972464 [INFO] ftmod_sangoma_isdn_stack_rcv.c:729
> [SNGISDN Q931] s1: Interface: UP(260): Dchan(285)
> 2011-06-06 22:02:29.972464 [DEBUG] ftmod_sangoma_isdn_cntrl.c:43
> [s1c1][1:1] Signalling link status changed to UP
> 2011-06-06 22:02:29.972464 [DEBUG] ftmod_sangoma_isdn_cntrl.c:43
> [s1c2][1:2] Signalling link status changed to UP
> 2011-06-06 22:02:29.972464 [DEBUG] ftmod_sangoma_isdn_cntrl.c:43
> [s1c3][1:3] Signalling link status changed to UP
> 2011-06-06 22:02:29.972464 [DEBUG] ftmod_sangoma_isdn_support.c:200
> [s1c1][1:1] Setting availability rate to:10
> 2011-06-06 22:02:29.972464 [DEBUG] ftmod_sangoma_isdn_support.c:186
> [s1c1][1:1] Setting availability rate to:10
> 2011-06-06 22:02:29.972464 [DEBUG] ftmod_sangoma_isdn_support.c:200
> [s1c2][1:2] Setting availability rate to:10
> 2011-06-06 22:02:29.972464 [DEBUG] ftmod_sangoma_isdn_support.c:186
> [s1c2][1:2] Setting availability rate to:10
> 2011-06-06 22:02:29.972464 [DEBUG] ftmod_sangoma_isdn_support.c:200
> [s1c3][1:3] Setting availability rate to:10
> 2011-06-06 22:02:29.972464 [DEBUG] ftmod_sangoma_isdn_support.c:186
> [s1c3][1:3] Setting availability rate to:10
> 2011-06-06 22:02:29.972464 [DEBUG] ftmod_sangoma_isdn_stack_hndl.c:1179
> Receved RESTART, but Restart Indicator IE not present
> 2011-06-06 22:02:29.972464 [DEBUG] mod_freetdm.c:2268 got clear channel
> sig [SIGSTATUS_CHANGED]
> 2011-06-06 22:02:29.972464 [INFO] mod_freetdm.c:2345 1:1 signalling
> changed to :UP
> 2011-06-06 22:02:29.972464 [DEBUG] mod_freetdm.c:2268 got clear channel
> sig [SIGSTATUS_CHANGED]
> 2011-06-06 22:02:29.972464 [INFO] mod_freetdm.c:2345 1:2 signalling
> changed to :UP
> 2011-06-06 22:02:29.972464 [DEBUG] mod_freetdm.c:2268 got clear channel
> sig [SIGSTATUS_CHANGED]
> 2011-06-06 22:02:29.972464 [INFO] mod_freetdm.c:2345 1:3 signalling
> changed to :UP
> 2011-06-06 22:03:19.912462 [DEBUG] ftmod_sangoma_isdn_stack_rcv.c:681
> [SNGISDN Q921] wp1: Protocol: Data Link connection DN(4): Disconnect
> initiated(263)
> 2011-06-06 22:03:19.932483 [DEBUG] ftmod_sangoma_isdn_stack_rcv.c:681
> [SNGISDN Q921] wp1: Protocol: Data Link connection UP(3): UA frame with
> F-bit = 1(258)
> 2011-06-06 22:03:19.932483 [INFO] ftmod_sangoma_isdn_stack_rcv.c:631
> Received RESTART CFM (dChan:1 ces:0 type:0)
> 2011-06-06 22:03:19.932483 [DEBUG] ftmod_sangoma_isdn_stack_hndl.c:1179
> Receved RESTART, but Restart Indicator IE not present
> 2011-06-06 22:03:19.932483 [INFO] ftmod_sangoma_isdn_stack_rcv.c:729
> [SNGISDN Q931] s1: Interface: UP(260): Dchan(285)
> 2011-06-06 22:03:19.932483 [DEBUG] ftmod_sangoma_isdn_cntrl.c:43
> [s1c1][1:1] Signalling link status changed to UP
> 2011-06-06 22:03:19.932483 [DEBUG] ftmod_sangoma_isdn_cntrl.c:43
> [s1c2][1:2] Signalling link status changed to UP
> 2011-06-06 22:03:19.932483 [DEBUG] ftmod_sangoma_isdn_cntrl.c:43
> [s1c3][1:3] Signalling link status changed to UP
> 2011-06-06 22:03:19.932483 [DEBUG] ftmod_sangoma_isdn_support.c:200
> [s1c1][1:1] Setting availability rate to:10
> 2011-06-06 22:03:19.932483 [DEBUG] ftmod_sangoma_isdn_support.c:186
> [s1c1][1:1] Setting availability rate to:10
> 2011-06-06 22:03:19.932483 [DEBUG] ftmod_sangoma_isdn_support.c:200
> [s1c2][1:2] Setting availability rate to:10
> 2011-06-06 22:03:19.932483 [DEBUG] ftmod_sangoma_isdn_support.c:186
> [s1c2][1:2] Setting availability rate to:10
> 2011-06-06 22:03:19.932483 [DEBUG] ftmod_sangoma_isdn_support.c:200
> [s1c3][1:3] Setting availability rate to:10
> 2011-06-06 22:03:19.932483 [DEBUG] ftmod_sangoma_isdn_support.c:186
> [s1c3][1:3] Setting availability rate to:10
> 2011-06-06 22:03:19.932483 [DEBUG] mod_freetdm.c:2268 got clear channel
> sig [SIGSTATUS_CHANGED]
> 2011-06-06 22:03:19.932483 [INFO] mod_freetdm.c:2345 1:1 signalling
> changed to :UP
> 2011-06-06 22:03:19.932483 [DEBUG] mod_freetdm.c:2268 got clear channel
> sig [SIGSTATUS_CHANGED]
> 2011-06-06 22:03:19.932483 [INFO] mod_freetdm.c:2345 1:2 signalling
> changed to :UP
> 2011-06-06 22:03:19.932483 [DEBUG] mod_freetdm.c:2268 got clear channel
> sig [SIGSTATUS_CHANGED]
> 2011-06-06 22:03:19.932483 [INFO] mod_freetdm.c:2345 1:3 signalling
> changed to :UP
> freeswitch at internal>  ftdm list
> +OK
> span: 1 (wp1)
> type: Sangoma (ISDN)
> physical_status: ok
> signaling_status: UP
> chan_count: 3
> dialplan: XML
> context: public
> dial_regex:
> fail_dial_regex:
> hold_music:
> analog_options: none
> +OK
> span: 2 (wp2)
> type: Sangoma (ISDN)
> physical_status: alarmed
> signaling_status: DOWN
> chan_count: 3
> dialplan: XML
> context: public
> dial_regex:
> fail_dial_regex:
> hold_music:
> analog_options: none
> +OK
> span: 3 (FXS)
> type: analog
> physical_status: ok
> signaling_status: UP
> chan_count: 2
> dialplan: XML
> context: default
> dial_regex:
> fail_dial_regex:
> hold_music:
> analog_options: none
>
>
> # wanrouter status
>
> Devices currently active:
>       wanpipe1 wanpipe2 wanpipe3
>
>
> Wanpipe Config:
>
> Device name | Protocol Map | Adapter  | IRQ | Slot/IO | If's | CLK |
> Baud rate |
> wanpipe1    | N/A          | A500/B700| 20  | 0       | 1    | N/A |
> 0         |
> wanpipe2    | N/A          | A500/B700| 20  | 0       | 1    | N/A |
> 0         |
> wanpipe3    | N/A          | A200/A400/B600/B700/B800| 20  | 0       |
> 1    | N/A | 0         |
>
> Wanrouter Status:
>
> Device name | Protocol | Station | Status        |
> wanpipe1    | AFT ISDN | N/A     | Connected     |
> wanpipe2    | AFT ISDN | N/A     | Disconnected  |
> wanpipe3    | A-ANALOG | N/A     | Connected     |
>
>
> # cat /etc/wanpipe/wanrouter.rc
> #!/bin/sh
> # .. comments snipped ...
> ROUTER_BOOT=YES
> WAN_CONF_DIR=/etc/wanpipe
> WAN_INTR_DIR=/etc/wanpipe/interfaces
> WAN_BIN_DIR=/usr/sbin
> WAN_LOG=/var/log/wanrouter
> WAN_LOCK=/var/lock/wanrouter
> WAN_LOCK_DIR=/var/lock
> WAN_IP_FORWARD=NO
> NEW_IF_TYPE=NO
> WAN_LIB_DIR=/etc/wanpipe/lib
> WAN_ADSL_LIST=/etc/wanpipe/wan_adsl.list
> WAN_ANNEXG_LOAD=NO
> WAN_SCTP_LOAD=NO
> WAN_LIP_LOAD=NO
> WAN_DYN_WANCONFIG=NO
> WAN_SCRIPTS_DIR=/etc/wanpipe/scripts
> WAN_FIRMWARE_DIR=/etc/wanpipe/firmware
> WAN_DEVICES_REV_STOP_ORDER=YES
> WAN_DEVICES="wanpipe1 wanpipe2 wanpipe3 "
>
> # cat /etc/wanpipe/wanpipe1.conf
> #================================================
> # WANPIPE1 Configuration File
> #================================================
> #
> # Note: This file was generated automatically
> #       by /usr/local/sbin/setup-sangoma program.
> #
> #       If you want to edit this file, it is
> #       recommended that you use wancfg program
> #       to do so.
> #================================================
> # Sangoma Technologies Inc.
> #================================================
>
>
>
>
> [devices]
> wanpipe1 = WAN_AFT_ISDN_BRI, Comment
>
> [interfaces]
> w1g1 = wanpipe1, , TDM_VOICE_API, Comment
>
> [wanpipe1]
> CARD_TYPE     = AFT
> S514CPU     = A
> CommPort     = PRI
> AUTO_PCISLOT     = NO
> PCISLOT     = 0
> PCIBUS      = 5
> FE_MEDIA    = BRI
> FE_LINE        = 1
> TDMV_LAW    = ALAW
> RM_BRI_CLOCK_MASTER    = NO
> MTU         = 1500
> UDPPORT     = 9000
> TTL        = 255
> IGNORE_FRONT_END = NO
> TDMV_SPAN    = 1
> TE_AIS_MAINTENANCE = NO            #NO: defualt  YES: Start port in AIS
> Blue Alarm and keep line down
>                                   #wanpipemon -i w1g1 -c Ttx_ais_off to
> disable AIS maintenance mode
>                                   #wanpipemon -i w1g1 -c Ttx_ais_on to
> enable AIS maintenance mode
> TDMV_HW_DTMF        = YES        # YES: receive dtmf events from hardware
> TDMV_HW_FAX_DETECT      = YES     # YES: receive fax 1100hz events from
> hardware
> HWEC_OPERATION_MODE     = OCT_NORMAL    # OCT_NORMAL: echo cancelation
> enabled with nlp (default)
>                                           # OCT_SPEECH: improves software
> tone detection by disabling NLP (echo possible)
>                                           # OCT_NO_ECHO:disables echo
> cancelation but allows VQE/tone functions.
> HWEC_DTMF_REMOVAL       = NO    # NO: default  YES: remove dtmf out of
> incoming media (must have hwdtmf enabled)
> HWEC_NOISE_REDUCTION    = NO    # NO: default  YES: reduces noise on the
> line - could break fax
> HWEC_ACUSTIC_ECHO       = NO    # NO: default  YES: enables acustic echo
> cancelation
> HWEC_NLP_DISABLE        = NO    # NO: default  YES: guarantees software
> tone detection (possible echo)
> HWEC_TX_AUTO_GAIN       = 0     # 0: disable   -40-0: default tx audio
> level to be maintained (-20 default)
> HWEC_RX_AUTO_GAIN       = 0     # 0: disable   -40-0: default tx audio
> level to be maintained (-20 default)
> HWEC_TX_GAIN            = 0     # 0: disable   -24-24: db values to be
> applied to tx signal
> HWEC_RX_GAIN            = 0     # 0: disable   -24-24: db values to be
> applied to tx signal
>
> [w1g1]
> ACTIVE_CH    = ALL
> TDMV_HWEC    = YES
> MTU         = 80
>
>    ... and wanpipe2 was also automatically generated so just has '2' for
> FE_LINE and TDMV_SPAN instead of '1'.
>
> # cat /usr/local/freeswitch/conf/freetdm.conf
> [span wanpipe wp1]
> trunk_type =>  bri
> group=1
> b-channel =>  1:1-2
> d-channel =>  1:3
>
> [span wanpipe wp2]
> trunk_type =>  bri
> group=1
> b-channel =>  2:1-2
> d-channel =>  2:3
>
> [span wanpipe FXS]
> name =>  freetdm
> trunk_type =>  fxs
> group =>  grp2
> fxs-channel =>  3:1
>
> trunk_type =>  fxs
> group =>  grp2
> fxs-channel =>  3:2
>
> # cat /usr/local/freeswitch/conf/autoload_configs/freetdm.conf.xml
> <configuration name="freetdm.conf" description="Freetdm Configuration">
> <settings>
> <param name="debug" value="0"/>
> <!--<param name="hold-music" value="$${moh_uri}"/>-->
> <!--<param name="enable-analog-option" value="call-swap"/>-->
> <!--<param name="enable-analog-option" value="3-way"/>-->
> </settings>
>
> <config_profiles>
>
> <profile name="my_bri_te_1">
> <param name="switchtype" value="euroisdn" />
> <param name="interface" value="cpe"/>
> <param name="facility" value="no" />
> </profile>
>
> </config_profiles>
>
> <sangoma_bri_spans>
>
> <span name="wp1" cfgprofile="my_bri_te_1">
> <param name="dialplan" value="XML"/>
> <param name="context" value="public"/>
> </span>
>
> <span name="wp2" cfgprofile="my_bri_te_1">
> <param name="dialplan" value="XML"/>
> <param name="context" value="public"/>
> </span>
>
> </sangoma_bri_spans>
>
>
> <analog_spans>
>
> <span name="FXS">
> <!--<param name="hold-music" value="$${moh_uri}"/>-->
> <param name="dialplan" value="XML"/>
> <param name="context" value="default"/>
> <!-- regex to stop dialing when it matches -->
> <!--<param name="dial-regex" value="5555"/>-->
> <!-- regex to stop dialing when it does not match -->
> <!--<param name="fail-dial-regex" value="^5"/>-->
> </span>
>
> </analog_spans>
>
> </configuration>
>
> What other config files do I need to supply? I don't want to deluge the
> list any more in my first post!
>
> 2. We have 2 Single Number DDI numbers configured over the 4 channels.
> I want to set up outgoing calls so that they can appear to come from
> either of the two numbers, but at present the outgoing CLI appears to be
> overridden by the telco (BT) to only use one of the numbers.  Has anyone
> got this working in UK, and what is the format for the
> outbound_caller_id_number: last 6 digits or full 11 digits?  I note that
> the inbound called number is only the last 6 digits.
>
> 3. I have built FreeSWITCH from git and installed at /usr/local/... and
> then followed the steps on the Ubuntu page in the Wiki to set up the run
> control scripts, etc, and run FS non-root as freeswitch:daemon.  With
> FreeTDM, I have discovered that the /dev/wan* devices are owned by
> root:root, and so are inaccessible to FS running as non-root.  So for
> now I have added a line in /etc/init.d/freeswitch to 'chgrp freeswitch
> /dev/wan*'.  This is not the most elegant solution, because 'wanrouter
> restart' (which seems to be my best friend at the moment) resets the
> ownership to root:root.  I have tried grepping to see where the mknods
> are for these devices, but have been unsuccessful.  Is there a better
> place to 'permanently' change the device ownership?
>
> Thanks for all the great support I have already got just from editing my
> Wiki User page; this is a friendly group!
>
> John
>
> _______________________________________________
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org




More information about the FreeSWITCH-users mailing list