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

John freeswitch at earthspike.net
Fri Jun 10 12:01:42 MSD 2011


Nazim,

Late last night this got resolved; sorry I didn't post then.  We have 
had problems with the second line, and when these were fixed last night, 
the problem disappeared.  So now I have a nice stable FreeSWITCH with 
the only outputs on /log 7 being SIP re-registrations.  So, you are 
probably correct, and it was a line quality issue.

I've also resolved the device permissions issue with help from Sangoma 
support, and will post on that/update the Ubuntu Wiki page when I get a 
moment, probably after the weekend.

Thanks,

John

On 10/06/11 08:41, Nazim Aghabayov wrote:
> 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
>
> _______________________________________________
> 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