[asterisk-ss7] libss7 CGU / CGUA type funnies

Matthew Fredrickson creslin at digium.com
Mon Mar 26 09:53:16 MST 2007


On Mar 26, 2007, at 11:15 AM, Charl Barnard wrote:

> Hmm..looking at the chan_zap.c, I suspect the problem might be lines 
> 8723,
> 8724 (Asterisk r57457):
>
>         ss7_block_cics(linkset, e->cgu.startcic, e->cgu.endcic,
> e->cgb.status, 0);
>                                                                    ^^^
>         isup_cgua(linkset->ss7, e->cgu.startcic, e->cgu.endcic,
> e->cgb.status);
>                                                                    ^^^
>
> .. shouldn't the marked structures be "cgu" in both cases, comparing 
> it to
> ISUP_EVENT_CGB in the case block just prior to that?

Yes, I just corrected it in trunk, thanks for noticing that.  It 
shouldn't have caused a bug since the event types (cgu and cgb) use the 
same underlying type.  Also I just committed a fix for the original 
problem.  If you could test it out to see if it fixes your problem and 
report back I would appreciate it.  You're going to have to update 
libss7 and asterisk for it to work, since changes were required to both 
parts.

Matthew Fredrickson

>
> Regards,
>
> Charl
>
>> -----Original Message-----
>> From: asterisk-ss7-bounces at lists.digium.com
>> [mailto:asterisk-ss7-bounces at lists.digium.com] On Behalf Of
>> Charl Barnard
>> Sent: 26 March 2007 17:43
>> To: asterisk-ss7 at lists.digium.com
>> Subject: [asterisk-ss7] libss7 CGU / CGUA type funnies
>>
>> Hi All,
>>
>> We've recently discovered something strange running libss7
>> (r74): seems like when the switch we're connected to sends us
>> a Circuit Group Unblock message with type Maintenance
>> oriented, libss7 responds with an acknowlegement for type
>> Hardware failure oriented, instead of Maintenance, and vice
>> versa when CGU is received with message type Hardware-please
>> see the following trace:
>>
>> +---------+---------------------------------------------+-----
>> ----------
>> +---------+---------------------------------------------+----
>> -----------------+
>> |BITMASK  |ID Name
>> |Comment or Value
>> |
>> +---------+---------------------------------------------+-----
>> ----------
>> +---------+---------------------------------------------+----
>> -----------------+
>> |5:08:34 PM,851,406  1:E (Rx):15  MTP-L2  MSU  ISUP  CGU  0-XXX-0
>> |2-XXX-0
>> 000-02           |
>> |MTP Level 2 (MTP-L2)  MSU (= Message Signal Unit)
>> |
>> |Message Signal Unit
>> |
>> |-0000111 |Backward Sequence Number                     |7
>> |
>> |1------- |Backward Indicator Bit                       |1
>> |
>> |-1100000 |Forward Sequence Number                      |96
>> |
>> |1------- |Forward Indicator Bit                        |1
>> |
>> |--010000 |Length Indicator                             |16
>> |
>> |00------ |Spare                                        |0
>> |
>> |----0101 |Service Indicator                            |ISDN
>> User Part
>> |
>> |--00---- |Sub-Service: Priority
>> |Spare/priority 0
>> (U.S.A. only)      |
>> |00------ |Sub-Service: Network Ind                     |International
>> message               |
>> |**b14*** |Destination Point Code                       |0-XXX-0
>> |
>> |**b14*** |Originating Point Code                       |2-XXX-0
>> |
>> |ITU-T WHITE BOOK ISDN User Part (ISUP)  CGU (= Circuit Group
>> |Unblocking)
>> |
>> |Circuit Group Unblocking
>> |
>> |0010---- |Signalling Link Selection                    |2
>> |
>> |**b12*** |Circuit Ident Code                           |000-02
>> |
>> |0000---- |Spare                                        |0
>> |
>> |00011001 |Message Type                                 |25
>> |
>> |------00 |Cct grp supervis msg type                    |Maintenance
>> oriented                |
>> |000000-- |Spare                                        |0
>> |
>> |00000001 |Pointer to parameter                         |1
>> |
>> |Range and status
>> |
>> |00000101 |Parameter Length                             |5
>> |
>> |00011101 |Range                                        |29
>> |
>> |**b30*** |Status
>> |'111111111111110111111111111111'B   |
>> |00------ |Filler                                       |0
>> |
>>
>> +---------+---------------------------------------------+-----
>> ----------
>> +---------+---------------------------------------------+----
>> -----------------+
>> |BITMASK  |ID Name
>> |Comment or Value
>> |
>> +---------+---------------------------------------------+-----
>> ----------
>> +---------+---------------------------------------------+----
>> -----------------+
>> |5:08:34 PM,925,025  1:F (Rx):15  MTP-L2  MSU  ISUP  CGUA  2-XXX-0
>> |0-XXX-0
>> 000-02          |
>> |MTP Level 2 (MTP-L2)  MSU (= Message Signal Unit)
>> |
>> |Message Signal Unit
>> |
>> |-1100000 |Backward Sequence Number                     |96
>> |
>> |1------- |Backward Indicator Bit                       |1
>> |
>> |-0001000 |Forward Sequence Number                      |8
>> |
>> |1------- |Forward Indicator Bit                        |1
>> |
>> |--010000 |Length Indicator                             |16
>> |
>> |00------ |Spare                                        |0
>> |
>> |----0101 |Service Indicator                            |ISDN
>> User Part
>> |
>> |--00---- |Sub-Service: Priority
>> |Spare/priority 0
>> (U.S.A. only)      |
>> |00------ |Sub-Service: Network Ind                     |International
>> message               |
>> |**b14*** |Destination Point Code                       |2-XXX-0
>> |
>> |**b14*** |Originating Point Code                       |0-XXX-0
>> |
>> |ITU-T WHITE BOOK ISDN User Part (ISUP)  CGUA (= Circuit Group
>> |Unblocking
>> Ack.)              |
>> |Circuit Group Unblocking Ack.
>> |
>> |0000---- |Signalling Link Selection                    |0
>> |
>> |**b12*** |Circuit Ident Code                           |000-02
>> |
>> |0000---- |Spare                                        |0
>> |
>> |00011011 |Message Type                                 |27
>> |
>> |------01 |Cct grp supervis msg type
>> |Hardware failure
>> oriented           |
>> |000000-- |Spare                                        |0
>> |
>> |00000001 |Pointer to parameter                         |1
>> |
>> |Range and status
>> |
>> |00000101 |Parameter Length                             |5
>> |
>> |00011101 |Range                                        |29
>> |
>> |**b30*** |Status
>> |'111111111111110111111111111111'B   |
>> |00------ |Filler                                       |0
>> |
>>
>> Any ideas? This obviously leaves the two ends confused about
>> circuit state.
>>
>> Thanks,
>>
>> Charl
>>
>> _______________________________________________
>> --Bandwidth and Colocation provided by Easynews.com --
>>
>> asterisk-ss7 mailing list
>> To UNSUBSCRIBE or update options visit:
>>    http://lists.digium.com/mailman/listinfo/asterisk-ss7
>>
>
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com --
>
> asterisk-ss7 mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-ss7



More information about the asterisk-ss7 mailing list