Author Topic: No Prgress Indicator in q931 PROGRESS  (Read 7248 times)

dj_ndc

  • Newbie
  • *
  • Posts: 28
    • View Profile
No Prgress Indicator in q931 PROGRESS
« on: September 18, 2015, 05:33:30 AM »
Hello

Yate after ISUP :

CPR [cic=3 label=x-x-0:1-y-y:3]
  protocol-type='itu-t'
  message-type='CPR'
  EventInformation='progress'
  BackwardCallIndicators='charge,called-ordinary,e2e-none,isup-path,sccp-none'

Doesn't place Progress Indicator Len: x02, Data: x8188 in PROGRESS Message, here is Call Frow, so Site A release this call with "(96): Mandatory information element is missing":

L3->L2 : 18.09.2015 13:27:49
  ETSI Message Type DCHAN: x07 CALLREF: x0052 MSG = SETUP
  ETSI Information Element Identifier
Bearer Capability  Len: x03, Data: x9090A3    3.1 kHz audio
Channel Ident.     Len: x03, Data: xA183
Progress Indicator Len: x02, Data: x8183
CallingPartyNumber Len: x0B, Data: x2180  'xxxxx'
                    Type Of Number: National number
                    Numbering Plan: ISDN/telephony numbering plan
                    Presentation Indicator: Presentation allowed
                    Screening Indicator: User-provided, not screened
CalledPartyNumber  Len: x0A, Data: x8136  'yyyyyyy'
                    Type Of Number: Unknown
                    Numbering Plan: ISDN/telephony numbering plan

L2->L3 : 18.09.2015 13:27:49 08 02 80 52 02 18 03 A1 83 81
  ETSI Message Type DCHAN: x07 CALLREF: x8052 MSG = CALL PROCEEDING
  ETSI Information Element Identifier
Channel Ident.     Len: x03, Data: xA18381

L2->L3 : 18.09.2015 13:27:51 08 02 80 52 03
  ETSI Message Type DCHAN: x07 CALLREF: x8052 MSG = PROGRESS

L3->L2 : 18.09.2015 13:27:51 08 02 00 52 7D 08 03 81 E0 1E 14 01 03
  ETSI Message Type DCHAN: x07 CALLREF: x0052 MSG = STATUS
  ETSI Information Element Identifier
Cause              Len: x03, Data: x81E01E   (96): Mandatory information element is missing
x14                Len: x01, Data: x03

L2->L3 : 18.09.2015 13:27:51 08 02 80 52 5A 08 03 0A 80 E5
  ETSI Message Type DCHAN: x07 CALLREF: x8052 MSG = RELEASE COMPLETE
  ETSI Information Element Identifier
Cause              Len: x03, Data: x0A80E5

dj_ndc

  • Newbie
  • *
  • Posts: 28
    • View Profile
Re: No Prgress Indicator in q931 PROGRESS
« Reply #1 on: September 21, 2015, 02:08:42 AM »
Hello, something is missing in libs/ysig/q931.cpp ---> bool ISDNQ931Call::sendProgress(SignallingMessage* sigMsg), I have modified this function to Alerting Message, so Now I am able to place a call, but still get "(96): Mandatory information element is missing" after PROGRESS:

L3->L2 : 21.09.2015 09:57:30
  ETSI Message Type DCHAN: x07 CALLREF: x0062 MSG = SETUP
  ETSI Information Element Identifier
Bearer Capability  Len: x03, Data: x9090A3    3.1 kHz audio
Channel Ident.     Len: x03, Data: xA18381
Progress Indicator Len: x02, Data: x8183
CallingPartyNumber Len: x0B, Data: x2180333234323838353032  'xxxxxxxxx'
                    Type Of Number: National number
                    Numbering Plan: ISDN/telephony numbering plan
                    Presentation Indicator: Presentation allowed
                    Screening Indicator: User-provided, not screened
CalledPartyNumber  Len: x0A, Data: x81363031313030363031  'yyyyyyyyy'
                    Type Of Number: Unknown
                    Numbering Plan: ISDN/telephony numbering plan

L2->L3 : 21.09.2015 09:57:30 08 02 80 62 02 18 03 A1 83 81
  ETSI Message Type DCHAN: x07 CALLREF: x8062 MSG = CALL PROCEEDING
  ETSI Information Element Identifier
Channel Ident.     Len: x03, Data: xA18381

L2->L3 : 21.09.2015 09:57:32 08 02 80 62 03
  ETSI Message Type DCHAN: x07 CALLREF: x8062 MSG = PROGRESS

L3->L2 : 21.09.2015 09:57:32 08 02 00 62 7D 08 03 81 E0 1E 14 01 03
  ETSI Message Type DCHAN: x07 CALLREF: x0062 MSG = STATUS
  ETSI Information Element Identifier
Cause              Len: x03, Data: x81E01E  (96): Mandatory information element is missing
x14                Len: x01, Data: x03

L2->L3 : 21.09.2015 09:57:32 08 02 80 62 01
  ETSI Message Type DCHAN: x07 CALLREF: x8062 MSG = ALERTING

L2->L3 : 21.09.2015 09:57:33 08 02 80 62 07
  ETSI Message Type DCHAN: x07 CALLREF: x8062 MSG = CONNECT

L3->L2 : 21.09.2015 09:57:33 08 02 00 62 0F
  ETSI Message Type DCHAN: x07 CALLREF: x0062 MSG = CONNECT ACK

L3->L2 : 21.09.2015 09:57:38 08 02 00 62 45 08 02 80 90
  ETSI Message Type DCHAN: x07 CALLREF: x0062 MSG = DISCONNECT
  ETSI Information Element Identifier
Cause              Len: x02, Data: x8090   (16): Normal call clearing

L2->L3 : 21.09.2015 09:57:38 08 02 80 62 4D 08 03 0A 80 90
  ETSI Message Type DCHAN: x07 CALLREF: x8062 MSG = RELEASE
  ETSI Information Element Identifier
Cause              Len: x03, Data: x0A8090


This is My modification, but I know it isin't good, but Now I am able to place a call, is there a way that someone could fix it ? To add ProgressIndicator only to PROGRESS message?

bool ISDNQ931Call::sendProgress(SignallingMessage* sigMsg)
{
    MSG_CHECK_SEND(ISDNQ931Message::Progress)
    const char* format = 0;
    if (sigMsg) {
        format = sigMsg->params().getValue(YSTRING("format"));
        m_inbandAvailable = m_inbandAvailable ||
            sigMsg->params().getBoolValue(YSTRING("earlymedia"),false);
        if (m_inbandAvailable)
            SignallingUtils::appendFlag(m_data.m_progress,"in-band-info");
    }
    if (format)
        m_data.m_format = format;
    // Change state, send message
    changeState(CallReceived);
    ISDNQ931Message* msg = new ISDNQ931Message(ISDNQ931Message::Progress,this);
    if (m_rspBearerCaps) {
        m_data.processBearerCaps(msg,true);
        m_rspBearerCaps = false;
    }
    if (!m_channelIDSent) {
        if (!q931()->primaryRate()) {
            m_data.m_channelType = "B";
            if (m_circuit)
                m_data.m_channelSelect = lookup(m_circuit->code(),Q931Parser::s_dict_channelIDSelect_BRI);
            if (!m_data.m_channelSelect) {
                TelEngine::destruct(msg);
                return sendReleaseComplete("congestion");
            }
        }
        m_data.processChannelID(msg,true,&q931()->parserData());
        m_channelIDSent = true;
    }
    m_data.processProgress(msg,true);
    return q931()->sendMessage(msg,callTei());
}

Greetings

dj_ndc

  • Newbie
  • *
  • Posts: 28
    • View Profile
Re: No Prgress Indicator in q931 PROGRESS
« Reply #2 on: September 22, 2015, 01:11:11 AM »
Hello

I think, that Progress Indicator isn't transferred from SETUP to next messages in call proceeding.

Greetings


dj_ndc

  • Newbie
  • *
  • Posts: 28
    • View Profile
Re: No Prgress Indicator in q931 PROGRESS
« Reply #3 on: October 12, 2015, 03:28:02 AM »
Can it be caused by earlyacm=yes ? Here is ISUP port definition I use, and isdn-pri that call goest to it. I Call from link2 to isup1, PROGRESS goes from isup1 to link2 without Progress Indicator in PROGRESS message:

[isup1]
enable=yes
type=ss7-isup
pointcodetype=ITU
;
;TEST
pointcode=1
defaultpointcode=1
remotepointcode=2
;
netindicator=national
router=ss7router
voice=wanpipe1
lockgroup=yes
earlyacm=yes
ringback=yes
continuity=loopback
sls=cic
numplan=isdn
numtype=national
presentation=allowed
screening=network-provided
print-messages=yes
extended-debug=yes
confirm_ccr=yes
drop_unknown=no
needmedia=no
autostart=yes

[link2]
type=isdn-pri-net
enable=yes
sig=wanpipe2
voice=wanpipe2
switchtype=euro-isdn-e1
strategy=increment
format=alaw
screening=network-provided
numplan=isdn
numtype=national
presentation=allowed
ringback=yes
earlyacm=yes

Greetings
Andrzej