Based on the Asterisk logs you posted the Asterisk doesn't have it implemented per:
"The implementation of timer T309 in the user side is optional" Martin On Mon, Apr 6, 2009 at 6:22 AM, Afonso Zimmermann <[email protected]> wrote: > Martin escreveu: > > What is the specification for T309 ? I'm too lazy to look it up. > > The default behaviour when the alarm of layer 1 (electrical T1/E1) is > detected is to assume > all calls dropped on both sides and that's what Asterisk does. > > The timer is simply deactivated since all the calls are supposed to > drop. I believe that agrees with Q921/Q931 specs. > > Martin > > On Fri, Apr 3, 2009 at 12:14 PM, Afonso Zimmermann <[email protected]> > wrote: > > > Hi everione, > > I'm make some test with pri timer T309. I'm using asterisk 1.4.23.1, libpri > 1.4.9, dahdi-linux 2.1.0.4 and dahdi-tools 2.1.0.2. But in my tests, the > timer fail with a telco link in this scenario: > > Telco Phone <----------> Telco <-----------> Asterisk <------------> Sip > Phone > > When i make a call from Telco Phone to Sip Phone, the call complete, but > when i disconnect the link and reconnect in few seconds, the Asterisk clear > call: > > [Apr 3 10:44:40] WARNING[13081]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 1: Red Alarm > [Apr 3 10:44:40] NOTICE[21088]: chan_dahdi.c:9558 pri_dchannel: PRI got > event: Alarm (4) on Primary D-channel of span 1 > == Spawn extension (disc-from-trunk-TR001, 9800, 2) exited non-zero on > 'DAHDI/1-1' > [Apr 3 10:44:40] WARNING[21088]: chan_dahdi.c:3021 pri_find_dchan: No > D-channels available! Using Primary channel 16 as D-channel anyway! > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 2: Red Alarm > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:2012 dahdi_disable_ec: Unable > to disable echo cancellation on channel 2: Invalid argument > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 3: Red Alarm > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:2012 dahdi_disable_ec: Unable > to disable echo cancellation on channel 3: Invalid argument > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 4: Red Alarm > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:2012 dahdi_disable_ec: Unable > to disable echo cancellation on channel 4: Invalid argument > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 5: Red Alarm > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:2012 dahdi_disable_ec: Unable > to disable echo cancellation on channel 5: Invalid argument > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 6: Red Alarm > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:2012 dahdi_disable_ec: Unable > to disable echo cancellation on channel 6: Invalid argument > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 7: Red Alarm > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:2012 dahdi_disable_ec: Unable > to disable echo cancellation on channel 7: Invalid argument > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 8: Red Alarm > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:2012 dahdi_disable_ec: Unable > to disable echo cancellation on channel 8: Invalid argument > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 9: Red Alarm > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:2012 dahdi_disable_ec: Unable > to disable echo cancellation on channel 9: Invalid argument > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 10: Red Alarm > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:2012 dahdi_disable_ec: Unable > to disable echo cancellation on channel 10: Invalid argument > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 11: Red Alarm > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:2012 dahdi_disable_ec: Unable > to disable echo cancellation on channel 11: Invalid argument > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 12: Red Alarm > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:2012 dahdi_disable_ec: Unable > to disable echo cancellation on channel 12: Invalid argument > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 13: Red Alarm > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:2012 dahdi_disable_ec: Unable > to disable echo cancellation on channel 13: Invalid argument > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 14: Red Alarm > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:2012 dahdi_disable_ec: Unable > to disable echo cancellation on channel 14: Invalid argument > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 15: Red Alarm > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:2012 dahdi_disable_ec: Unable > to disable echo cancellation on channel 15: Invalid argument > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 17: Red Alarm > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:2012 dahdi_disable_ec: Unable > to disable echo cancellation on channel 17: Invalid argument > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 18: Red Alarm > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:2012 dahdi_disable_ec: Unable > to disable echo cancellation on channel 18: Invalid argument > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 19: Red Alarm > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:2012 dahdi_disable_ec: Unable > to disable echo cancellation on channel 19: Invalid argument > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 20: Red Alarm > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:2012 dahdi_disable_ec: Unable > to disable echo cancellation on channel 20: Invalid argument > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 21: Red Alarm > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:2012 dahdi_disable_ec: Unable > to disable echo cancellation on channel 21: Invalid argument > NEW_HANGUP DEBUG: Calling q931_hangup, ourstate Active, peerstate Active > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 22: Red Alarm > q931.c:3009 q931_disconnect: call 1 on channel 1 enters state 11 (Disconnect > Request) > > > Protocol Discriminator: Q.931 (8) len=9 > Call Ref: len= 2 (reference 1/0x1) (Terminator) > Message type: DISCONNECT (69) > [08 02 81 90] > Cause (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) Spare: 0 > Location: Private network serving the local user (1) > > > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:2012 dahdi_disable_ec: > > > Ext: 1 Cause: Normal Clearing (16), class = Normal Event > > > (1) ] > Unable to disable echo cancellation on channel 22: Invalid argument > -- Hungup 'DAHDI/1-1' > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 23: Red Alarm > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:2012 dahdi_disable_ec: Unable > to disable echo cancellation on channel 23: Invalid argument > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 24: Red Alarm > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:2012 dahdi_disable_ec: Unable > to disable echo cancellation on channel 24: Invalid argument > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 25: Red Alarm > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:2012 dahdi_disable_ec: Unable > to disable echo cancellation on channel 25: Invalid argument > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 26: Red Alarm > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:2012 dahdi_disable_ec: Unable > to disable echo cancellation on channel 26: Invalid argument > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 27: Red Alarm > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:2012 dahdi_disable_ec: Unable > to disable echo cancellation on channel 27: Invalid argument > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 28: Red Alarm > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:2012 dahdi_disable_ec: Unable > to disable echo cancellation on channel 28: Invalid argument > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 29: Red Alarm > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:2012 dahdi_disable_ec: Unable > to disable echo cancellation on channel 29: Invalid argument > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 30: Red Alarm > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:2012 dahdi_disable_ec: Unable > to disable echo cancellation on channel 30: Invalid argument > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:4385 handle_alarms: Detected > alarm on channel 31: Red Alarm > [Apr 3 10:44:40] WARNING[21089]: chan_dahdi.c:2012 dahdi_disable_ec: Unable > to disable echo cancellation on channel 31: Invalid argument > -- Timeout occured, restarting PRI > q921.c:438 t200_expire: q921_state now is Q921_LINK_CONNECTION_RELEASED > q931.c:4019 q931_dl_indication: link is DOWN > q931.c:4030 q931_dl_indication: cancel call 1 on channel 1 in state 11 > (Disconnect Request) > Sending Set Asynchronous Balanced Mode Extended > q921.c:211 q921_send_sabme: q921_state now is Q921_AWAITING_ESTABLISH > [Apr 3 10:44:44] WARNING[21088]: chan_dahdi.c:3021 pri_find_dchan: No > D-channels available! Using Primary channel 16 as D-channel anyway! > q931.c:3996 pri_dl_down_cancelcall: Cancel non active call after data link > failure > q931.c:3951 pri_internal_clear: call 1 on channel 1 enters state 0 (Null) > NEW_HANGUP DEBUG: Calling q931_hangup, ourstate Null, peerstate Null > NEW_HANGUP DEBUG: Destroying the call, ourstate Null, peerstate Null > == Primary D-Channel on span 1 up > Sending Set Asynchronous Balanced Mode Extended > Sending Set Asynchronous Balanced Mode Extended > Sending Set Asynchronous Balanced Mode Extended > Sending Set Asynchronous Balanced Mode Extended > Sending Set Asynchronous Balanced Mode Extended > > Apparently, the call is cleared before the libpri execute a t309 code. > > My system.conf: > > loadzone=br > defaultzone=br > span=1,0,0,ccs,hdb3,crc4 > bchan=1-15,17-31 > dchan=16 > > My chan_dahdi.conf > > [trunkgroups] > > [channels] > language=pt_BR > usecallerid=yes > hidecallerid=no > callwaiting=> yes > usecallingpres=> yes > callwaitingcallerid=yes > threewaycalling=yes > transfer=yes > cancallforward=yes > callreturn=yes > immediate=no > callerid=asreceived > faxdetect=both > loglevel=255 > mfcr2_logging=all > mfcr2_call_files=yes > mfcr2_accept_on_offer=no > > signalling=pri_cpe > switchtype=euroisdn > context=disc-from-trunk-TR001 > pridialplan=unknown > prilocaldialplan=unknown > resetinterval=never > priindication=inband > facilityenable=no > overlapdial=no > txgain=0.0 > rxgain=0.0 > internationalprefix= > nationalprefix= > localprefix= > privateprefix= > unknownprefix= > priexclusieve=no > pritimer=>n200,3 > pritimer=>k,7 > pritimer=>t200,1000 > pritimer=>t203,10000 > pritimer=>t305,30000 > pritimer=>t308,4000 > pritimer=>t309,12000 > pritimer=>t313,4000 > group=1 > callgroup=1 > pickupgroup=1 > channel => 1-15,17-31 > > Forgive me for my poor English. Any suggestions? > > -- > Afonso Zimmermann > > _______________________________________________ > -- Bandwidth and Colocation Provided by http://www.api-digital.com -- > > asterisk-users mailing list > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users > > > > _______________________________________________ > -- Bandwidth and Colocation Provided by http://www.api-digital.com -- > > asterisk-users mailing list > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users > > > > > Hi Martin, > > The specification of the timer in Asterisk is: > > T309: Maintain active calls on Layer 2 disconnection (default -1, Asterisk > clears calls) EuroISDN: 6000 to 12000 ms, according to (N200 + 1) x T200 + > 2s > > In q931 standart: > > Whenever the network layer entity is notified by its data link layer entity > via the DL-RELEASE > indication primitive that there is a data link layer malfunction, the > following procedure shall apply: > > a) Any calls not in the Active state shall be cleared internally. > b) For any call in the Active state, a timer T309 shall be started (if > implemented). > If timer T309 is already running, it shall not be restarted. > The Q.931 entity shall request layer 2 re-establishment by sending a > DL-ESTABLISH > request primitive. > When informed of layer 2 re-establishment by means of the > DL-ESTABLISH confirmation > primitive, the following procedure shall apply: > the Q.931 entity shall stop timer T309, and either: > – the Q.931 entity shall send a STATUS message with cause No. 31, > normal, unspecified, > to report the current state to the peer entity; or > – the Q.931 entity shall perform the status enquiry procedure > according to 5.8.10 to verify > the call state of the peer entity. > If timer T309 expires prior to data link re-establishment, the > network shall clear the network > connection and call to the remote user with cause No. 27, destination > out of order; > disconnect and release the B-channel; release the call reference and > enter the Null state. > If timer T309 expires prior to data link re-establishment, the user > shall clear the attached > connection (if any) with cause No. 27, destination out of order; > disconnect and release the B- > channel; release the call reference and enter the Null state. > When a backup D-channel is available, the procedures in Annex F may be used. > The implementation of timer T309 in the user side is optional and in the > network side is mandatory. > > There are more in this section, but this is the base of the timer usage. > > == Spawn extension (disc-from-trunk-TR001, 9800, 2) exited non-zero on > 'DAHDI/1-1' > > This extension is a dial command. Is normal the dial command exit with > non-zero in this situation? > > [disc-from-trunk-TR001] > > exten => _XXXX,1,Answer() > exten => _XXXX,2,Dial(SIP/2002,,T) > exten => _XXXX,3,Hangup() > > exten => _XXXXXXXX,1,Dial(DAHDI/g1/${EXTEN},,T) > exten => _XXXXXXXX,n,Congestion() > exten => _XXXXXXXX,n,Hangup() > > exten => _0800.,1,Dial(DAHDI/g1/${EXTEN},,T) > exten => _0800.,n,Congestion() > exten => _0800.,n,Hangup() > > -- > Afonso Zimmermann > > _______________________________________________ > -- Bandwidth and Colocation Provided by http://www.api-digital.com -- > > asterisk-users mailing list > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users > _______________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
