Project

General

Profile

Actions

Bug #6330

open

Incorrect handling of V.120 data calls

Added by fixeria 3 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Call Control
Target version:
-
Start date:
01/18/2024
Due date:
% Done:

0%

Resolution:
Spec Reference:
Tags:
CSD

Description

Current osmo-msc (8236184ef05e5b10505bbb3189357d2050bbdc5d) fails to connect a V.120 data call, see the attached PCAP.

How to reproduce:

  • find phone(s)/modem(s) supporting V.120 data calls
    • the result of AT+CBST=? should contain one of V.120 rates: 39, 43, 47, 48
    • most Sony Ericsson phones/modems can do V.120: +CBST: (0,7,12,14-17,39,43,47-51,71,75,79-84),(0,4),(1)
  • configure phone(s)/modem(s) to use V.120, for example: AT+CBST=39,0,1 for 9600 bps
  • initiate a data call, for example: ATD15843

In my case (using SE K800), the call is aborted due to Assignment Failure, because osmo-msc sends weird Assignment Command:

GSM A-I/F BSSMAP - Assignment Request
    Message Type Assignment Request
    Channel Type - (Data)
        Element ID: 0x0b
        Length: 3
        0000 .... = Spare bit(s): 0x00
        .... 0010 = Speech/Data Indicator: Data (2)
        .000 1010 = Channel rate and type: Full or Half rate TCH channel, Full rate preferred, changes allowed also after first channel allocation as a result of the request (10)
        0... .... = Extension: Last Octet
        .0.. .... = Service: Transparent
        ..01 0010 = Rate: 2.4kbit/s
...

2.4kbit/s / Transparent is definitely not what the calling phone requested, it should be 9.6kbit/s / Non-transparent.

Below is how the Bearer Capability looks like for AT+CBST=39,0,1:

Bearer Capability 1 - (Full rate support only MS)
    Element ID: 0x04
    Length: 12
    Octet 3
        1... .... = Extension: No Extension
        .01. .... = Radio channel requirement: Full rate support only MS
        ...0 .... = Coding standard: GSM standardized coding
        .... 0... = Transfer mode: circuit
        .... .001 = Information transfer capability: Unrestricted digital information (0x1)
    Octet 4
        1... .... = Extension: No Extension
        .1.. .... = Compression: Allowed
        ..00 .... = Structure: Service data unit integrity (0)
        .... 1... = Duplex mode: Full
        .... .0.. = Configuration: Point-to-point
        .... ..0. = NIRR: No meaning is associated with this value
        .... ...0 = Establishment: Demand
    Octet 5
        0... .... = Extension: Extended
        .00. .... = Access Identity: Octet identifier (0)
        ...1 1... = Rate Adaption: Other rate adaption (see octet 5a) (3)
        .... .001 = Signalling Access Protocol: According to ITU-T Rec. Q.920 and ITU-T Rec. Q.930 (1)
    Octet 5a
        0... .... = Extension: Extended
        .00. .... = Other ITC: Restricted digital information (0)
        ...0 0... = Other Rate Adaption: According to ITU-T Rec. V.120 (0)
    .... .000 = Spare bit(s): 0
    Octet 5b
        1... .... = Extension: No Extension
        .1.. .... = Rate Adaption Header: Included
        ..1. .... = Multiple frame establishment support in data link: Supported
        ...1 .... = Mode of operation: Protocol sensitive
        .... 0... = Logical link identifier negotiation: Default, LLI=256 only
        .... .0.. = Assignor/Assignee: Message originator is default assignee
        .... ..0. = In band/Out of band negotiation: Negotiation is done in-band using logical link zero
    .... ...0 = Spare bit(s): 0
    Octet 6
        0... .... = Extension: Extended
        .01. .... = Layer 1 Identity: Octet identifier
        ...0 000. = User information layer 1 protocol: Default layer 1 protocol
        .... ...1 = Synchronous/asynchronous: Asynchronous
    Octet 6a
        0... .... = Extension: Extended
        .0.. .... = Number of Stop Bits: 1
        ..0. .... = Negotiation: In-band negotiation not possible
        ...1 .... = Number of data bits excluding parity bit if present: 8
        .... 0101 = User rate: 9.6 kbit/s (according to ITU-T Rec. X.1 and ITU-T Rec. V.110)
    Octet 6b
        0... .... = Extension: Extended
        .11. .... = V.110/X.30 rate adaptation Intermediate rate: 16 kbit/s (3)
        ...0 .... = Network independent clock (NIC) on transmission (Tx): does not require to send data with network independent clock
        .... 0... = Network independent clock (NIC) on reception (Rx): cannot accept data with network independent clock
        .... .011 = Parity information: None (3)
    Octet 6c
        0... .... = Extension: Extended
        .01. .... = Connection element: Non transparent (RLP) (1)
        ...0 0000 = Modem type: None
    Octet 6d
        0... .... = Extension: Extended
        .00. .... = Other modem type: No other modem type specified in this field (0)
        ...0 0001 = Fixed network user rate: 9.6 kbit/s (according to ITU-T Rec. X.1 and ITU-T Rec. V.110)
    Octet 6e
        0... .... = Extension: Extended
        .1.. .... = Acceptable channel codings (TCH/F14.4): Acceptable
        ..0. .... = Acceptable channel codings (Spare): False
        ...1 .... = Acceptable channel codings (TCH/F9.6): Acceptable
        .... 0... = Acceptable channel codings (TCH/F4.8): Not Acceptable
        .... .001 = Maximum number of traffic channels: 1 TCH
    Octet 6f
        1... .... = Extension: No Extension
        .000 .... = UIMI, User initiated modification indication: not allowed/required/applicable (0)
        .... 0001 = Wanted air interface user rate: 9.6 kbit/s (1)

Files


Related issues

Related to libosmocore - Feature #6344: New TS 24.008 Bearer Capability codec APINew01/25/2024

Actions
Actions #1

Updated by fixeria 3 months ago

  • Related to Feature #6344: New TS 24.008 Bearer Capability codec API added
Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)