[asterisk-ss7] libss7 and IAM/ACM
Barry O'Donovan
barry at opensolutions.ie
Tue Jun 17 11:12:43 CDT 2008
Folks,
I have an issue with libss7 which I'm hoping you may be able to assist
with/suggest where I might alter the code to fix.
Scenario
=========
We are using an Asterisk box with libss7 to make 'intelligent' routing
decisions with a Nortel DMS100. The DMS sends traffic to the Asterisk box
which does a look up on the number.
Under certain predefined circumstances, it will accept the call and under
others it will reject with cause code 34 (congestion).
The DMS100 has a 'reroute on congestion' functionality which allows the
Asterisk box to only accept the traffic it wants.
For testing purposes, I have the following simple dialplan:
[ss7]
exten => 0766016007,1,Hangup(34)
So you can see that for testing we do an immediate Hangup(). This works with
chan_ss7 but we'd prefer to use libss7.
Problem
=======
libss7 sends an ACM packet after it receives the IAM. The ACM means that a
channel has been reserved for the call but we are trying to indicate
conjestion. But, also, in any application such as operating a SS7 to VoIP
gateway, we need to verify the available of channels/bandwidth/etc before
sending the ACM.
In this particular case, once the ACM is sent, the DMS cannot implement
reroute on conjestion.
I have placed a ss7 debug below to help show the problem.
Is it at all possible to stop/delay the sending of the ACM until an
appropriate time?
Can anyone suggest:
a) how I might overcome this issue?
b) and/or changes to the code to correct this?
c) and/or any other advice?
Thanks a million,
Barry O'Donovan
-------------- next part --------------
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Len = 50 [ 8d 8a 2f 85 01 00 6c fe 3f 00 01 00 20 01 0a 00 02 0a 08 83 90 70 66 10 06 70 0f 0a 07 03 10 70 66 10 06 00 31 02 00 00 39 02 31 c0 1d 03 80 90 a3 00 ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: FSN: 10 FIB 1
[Jun 17 17:11:33] VERBOSE[24300] logger.c: BSN: 13 BIB 1
[Jun 17 17:11:33] VERBOSE[24300] logger.c: <[0] MSU
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ 8d 8a 2f ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Network Indicator: 2 Priority: 0 User Part: ISUP (5)
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ 85 ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: OPC 14768 DPC 1 SLS 15
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ 01 00 6c fe ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: CIC: 63
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ 3f 00 ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Message Type: IAM
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ 01 ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: --FIXED LENGTH PARMS[4]--
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Nature of Connection Indicator:
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Satellites in connection: 0
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Continuity Check: Check not required (0)
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Outgoing half echo control device: not included (0)
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ 00 ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Forward Call Indicators:
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Nat/Intl Call Ind: call to be treated as a national call (0)
[Jun 17 17:11:33] VERBOSE[24300] logger.c: End to End Method Ind: no end-to-end method(s) available (0)
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Interworking Ind: no interworking encountered (0)
[Jun 17 17:11:33] VERBOSE[24300] logger.c: End to End Info Ind: no end-to-end information available (0)
[Jun 17 17:11:33] VERBOSE[24300] logger.c: ISDN User Part Ind: ISDN user part used all the way (1)
[Jun 17 17:11:33] VERBOSE[24300] logger.c: ISDN User Part Pref Ind: ISDN user part preferred all the way (0)
[Jun 17 17:11:33] VERBOSE[24300] logger.c: ISDN Access Ind: originating access ISDN (1)
[Jun 17 17:11:33] VERBOSE[24300] logger.c: SCCP Method Ind: no indication (0)
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ 20 01 ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Calling Party's Category:
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Category: Ordinary calling subscriber (10)
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ 0a ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Transmission Medium Requirements:
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Speech (0)
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ 00 ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: --VARIABLE LENGTH PARMS[1]--
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Called Party Number:
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Nature of address: 3
[Jun 17 17:11:33] VERBOSE[24300] logger.c: NI: 1
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Numbering plan: 1
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Address signals: 0766016007#
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ 08 83 90 70 66 10 06 70 0f ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: --OPTIONAL PARMS--
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Calling Party Number:
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Nature of address: 3
[Jun 17 17:11:33] VERBOSE[24300] logger.c: NI: 0
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Numbering plan: 1
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Presentation: 0
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Screening: 0
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Address signals: 0766016000
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ 0a 07 03 10 70 66 10 06 00 ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Propagation Delay Counter:
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Delay: 0ms
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ 31 02 00 00 ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Parameter Compatibility Information:
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ 39 02 31 c0 ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: User Service Information:
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ 1d 03 80 90 a3 ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c:
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Unhandled optional parameter 0x31 'Propagation Delay Counter'
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [[Jun 17 17:11:33] VERBOSE[24300] logger.c: 0x0 [Jun 17 17:11:33] VERBOSE[24300] logger.c: 0x0 [Jun 17 17:11:33] VERBOSE[24300] logger.c: ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Unhandled optional parameter 0x39 'Parameter Compatibility Information'
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [[Jun 17 17:11:33] VERBOSE[24300] logger.c: 0x31 [Jun 17 17:11:33] VERBOSE[24300] logger.c: 0xc0 [Jun 17 17:11:33] VERBOSE[24300] logger.c: ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: -- Accepting call to '0766016007' on CIC 63
[Jun 17 17:11:33] VERBOSE[24300] logger.c: -- Executing [0766016007 at ss7:1] Hangup("Zap/62-1", "34") in new stack
[Jun 17 17:11:33] VERBOSE[24300] logger.c: == Spawn extension (ss7, 0766016007, 1) exited non-zero on 'Zap/62-1'
[Jun 17 17:11:33] VERBOSE[24300] logger.c: -- Hungup 'Zap/62-1'
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Len = 14 [ 8a 8e 0b 85 b0 79 00 f0 3f 00 06 40 14 00 ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: FSN: 14 FIB 1
[Jun 17 17:11:33] VERBOSE[24300] logger.c: BSN: 10 BIB 1
[Jun 17 17:11:33] VERBOSE[24300] logger.c: >[0] MSU
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ 8a 8e 0b ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Network Indicator: 2 Priority: 0 User Part: ISUP (5)
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ 85 ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: OPC 1 DPC 14768 SLS 15
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ b0 79 00 f0 ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: CIC: 63
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ 3f 00 ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Message Type: ACM
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ 06 ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: --FIXED LENGTH PARMS[1]--
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Backward Call Indicator:
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Charge indicator: 0
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Called party's status indicator: 0
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Called party's category indicator: 0
[Jun 17 17:11:33] VERBOSE[24300] logger.c: End to End method indicator: 1
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Interworking indicator: 0
[Jun 17 17:11:33] VERBOSE[24300] logger.c: End to End information indicator: 0
[Jun 17 17:11:33] VERBOSE[24300] logger.c: ISDN user part indicator: 1
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Holding indicator: 0
[Jun 17 17:11:33] VERBOSE[24300] logger.c: ISDN access indicator: 1
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Echo control device indicator: 0
[Jun 17 17:11:33] VERBOSE[24300] logger.c: SCCP method indicator: 0
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ 40 14 ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c:
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Len = 16 [ 8a 8f 0d 85 b0 79 00 f0 3f 00 0c 02 00 02 81 a2 ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: FSN: 15 FIB 1
[Jun 17 17:11:33] VERBOSE[24300] logger.c: BSN: 10 BIB 1
[Jun 17 17:11:33] VERBOSE[24300] logger.c: >[0] MSU
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ 8a 8f 0d ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Network Indicator: 2 Priority: 0 User Part: ISUP (5)
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ 85 ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: OPC 1 DPC 14768 SLS 15
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ b0 79 00 f0 ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: CIC: 63
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ 3f 00 ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Message Type: REL
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ 0c ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: --VARIABLE LENGTH PARMS[1]--
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Cause Indicator:
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Coding Standard: 0
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Location: 1
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Cause Class: 2
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Cause Subclass: 2
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Cause: No circuit/channel available (34)
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ 02 81 a2 ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c:
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Len = 12 [ 8f 8b 09 85 01 00 6c fe 3f 00 10 00 ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: FSN: 11 FIB 1
[Jun 17 17:11:33] VERBOSE[24300] logger.c: BSN: 15 BIB 1
[Jun 17 17:11:33] VERBOSE[24300] logger.c: <[0] MSU
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ 8f 8b 09 ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Network Indicator: 2 Priority: 0 User Part: ISUP (5)
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ 85 ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: OPC 14768 DPC 1 SLS 15
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ 01 00 6c fe ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: CIC: 63
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ 3f 00 ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c: Message Type: RLC
[Jun 17 17:11:33] VERBOSE[24300] logger.c: [ 10 ]
[Jun 17 17:11:33] VERBOSE[24300] logger.c:
More information about the asterisk-ss7
mailing list