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: