Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Sep 2012 18:53:45 +0200
From:      Andreas Longwitz <longwitz@incore.de>
To:        freebsd-isdn@freebsd.org
Subject:   ISDN4BSD (HPS version) is going into ports
Message-ID:  <504E1B19.3020901@incore.de>

next in thread | raw e-mail | index | archive | help
Hi,

I try to get ISDN4BSD from ports (rev 2349) with FreeBSD 8.3 working.
My first step was to run isdnd, that works fine now. Second step is to
run asterisk with chan_capi. So far I had run FreeBSD 8.2 and i4b
integrated manually, but that should not make any difference. Two
problems appeared after my update and I could not find the reason.

Problem 1: If I take up the receiver of a ISDN telephone I do not hear
the dial tone. I hear nothing. I can dial and that works. The phone
sends a SETUP messages and asterisk/isdn4bsd answers with SETUP ACK:

-- TE->NT - unit:11
L3 04 08 00001000 Protocol = Q.931/I.451/DSS1              (0x08)
L3 05 01 0000---- Call Reference
         ----0001 Call Reference length is 1 byte
L3 06 01 0------- Call Reference is sent from call originator
         -0000001 Call Reference = 1 = 0x01
L3 07 05 0------- Message type extension = 0
         -0000101 Message type = SETUP
L3 04 08 00001000 Protocol = Q.931/I.451/DSS1              (0x08)
L3 05 01 0000---- Call Reference
         ----0001 Call Reference length is 1 byte
L3 06 01 0------- Call Reference is sent from call originator
         -0000001 Call Reference = 1 = 0x01
L3 07 05 0------- Message type extension = 0
         -0000101 Message type = SETUP                     (0x05)
L3 08 04 0------- Variable length Information element
         -0000100 IE = bearer capability
L3 09 03 00000011 IE Length = 3 bytes
L3 0A 80 1------- Extension Bit = 1        (no extension, final octet)
         -00----- Coding standard = CCITT
         ---00000 Capability = 0x00, speech
L3 0B 90 1------- Extension Bit = 1        (no extension, final octet)
         -00----- Mode = 0x00, circuit
         ---10000 Rate = 0x10, 64 kbit/s
L3 0C A3 1------- Extension Bit = 1        (no extension, final octet)
         -01----- Layer 1 identity = 1
         ---00011 Layer 1 Protocol = 0x03, G.711 a-Law
L3 0D 6C 0------- Variable length Information element
         -1101100 IE = calling party number
L3 0E 09 00001001 IE Length = 9 bytes
L3 0F 00 0------- Extension Bit = 0     (with extension, octet follows)
         -000---- Type = Unknown
         ----0000 Plan = Unknown                           (0x0)
L3 10 80 1------- Extension Bit = 1     (no extension, final octet)
         -00----- Presentation = allowed
         ---000-- Spare
         ------00 Screening = user provided, not screened
L3 11 34 00110100 Number digit = 4
L3 12 39 00111001 Number digit = 9
L3 13 39 00111001 Number digit = 9
L3 14 34 00110100 Number digit = 9
L3 15 30 00110000 Number digit = 9
L3 16 36 00110110 Number digit = 9
L3 17 38 00111000 Number digit = 9
L3 18 7D 0------- Variable length Information element
         -1111101 IE = high layer compatibility
L3 19 02 00000010 IE Length = 2 bytes
L3 1A 91 1------- Extension Bit = 1       (no extension, final octet)
         -00----- Coding standard = CCITT
         ---100-- Interpretation = first
         ------01 Presentation = High layer protocol profile
L3 1B 81 1------- Extension Bit = 1       (no extension, final octet)
         -0000001 Characteristics = Telephony          (0x01) (0x05)
L3 08 04 0------- Variable length Information element

- NT->TE - unit:11
L3 04 08 00001000 Protocol = Q.931/I.451/DSS1                 (0x08)
L3 05 01 0000---- Call Reference
         ----0001 Call Reference length is 1 byte
L3 06 81 1------- Call Reference is sent to call originator
         -0000001 Call Reference = 1 = 0x01
L3 07 0D 0------- Message type extension = 0
         -0001101 Message type = SETUP_ACKNOWLEDGE            (0x0d)
L3 08 18 0------- Variable length Information element
         -0011000 IE = channel identification
L3 09 01 00000001 IE Length = 1 bytes
L3 0A 89 1------- Extension Bit = 1       (no extension, final octet)
         -0------ Interface Id present = No
         --0----- Interface Type = BRI
         ---0---- Spare
         ----1--- Channel is exclusive
         -----0-- Channel is not the D-Channel
         ------01 Channel = B-1
L3 0B 1E 0------- Variable length Information element
         -0011110 IE = progress indicator
L3 0C 02 00000010 IE Length = 2 bytes
L3 0D 82 -00----- Coding standard = CCITT
         ----0010 location = Public network serving local user
L3 0E 88 -0001000 description = In-band info or appropriate pattern now
available

There are no more packets in L3. The last "description" in the SETUP ACK
indicates that the missing dialtone should be send in-band by asterisk,
but I am not quite sure. In my configuration I did nothing special for
getting the dialtone, this worked always out of the box.

Problem 2: I tried to get more information for problem 1 with the
analyze mode of isdndecode using the custom cable as decribed in cable.txt.
I connected my ISDN phone to an "ISDN Basisanschluß" with my cable box
between them (receiving side unit 8, sending side unit 9), but after
the commands
    cat /dev/ihfc8.X > /dev/null 2>&1 &    (X=0,1,2)
    cat /dev/ihfc9.X > /dev/null 2>&1 &
    isdndecode -a -b -R 8 -T 9 -i -x
I can only see D-channel data from the NT-side, nothing from the phone
and no information from any B-channel, but the phone works correct.

The hardware jumpers on my HFC-4S card of unit 8 and 9 are set to TE
and I have
   isdnconfig -u  8 intr_mode pcm_64 pcm_map 0 1 end pcm_master \
              te_mode -p DRVR_DSS1_TE \
              -u  9 intr_mode pcm_64 pcm_map 0 1 end pcm_master
              nt_mode -p DRVR_DSS1_NT

Some time ago this analyze mode worked fine, but now it looks that I am
missing something.


Andreas Longwitz




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?504E1B19.3020901>