[asterisk-ss7] Detailed SS7 Rel Cause Code in CDR / dialplan

Jakub Klausa j.klausa at ss7.pl
Wed Jan 6 10:38:42 CST 2010


On Wed, Jan 06, 2010 at 03:17:28PM +0100, Krzysztof Drewicz wrote:
=> Hi,
=> 
=> how to obtain as much info from libss7 as possible when getting REL from telco:
=> 
=> in debug i've got:
=>                 Message Type: REL       [ 0c ]
=> --VARIABLE LENGTH PARMS[1]--
=> Cause Indicator:
=> Coding Standard: 0
=> Location: 2
=> Cause Class: 0
=> Cause Subclass: 3
=> Cause: No route to destination (3)
=> [ 02 82 83 ]
=> 
=> 
=> but in dialplan:
=> 
=> exten => h,n,Noop(${DIALSTATUS} ${CAUSECODE} ${DIALSTATUS} ${REASON}
=> ${HANGUPCAUSE} ${SS7_CAUSE})
=> 
=> but SS7_CAUSE is empy
=>     -- Executing [h at test-drew:1] NoOp("DAHDI/125-1", "TEST H") in new stack
=>     -- Executing [h at test-drew:2] NoOp("DAHDI/125-1", "CANCEL  CANCEL
=> 16 ") in new stack
=>     -- Executing [h at test-drew:3] Set("DAHDI/125-1",
=> "CDR(userfield)=Hangupcause:16") in new stack
=>     -- Executing [h at test-drew:4] NoOp("DAHDI/125-1", "TEST H") in new stack
=> 

Trying to do anything other then wrap up a call in the h extension is
useless, since the channel variables you'd like to access are long gone.

Simply doing things like this:

exten => _0X.,1,Set(HANGUPCAUSE=16) ; in case the caller hangs up first,
we'll assume everything went fine
exten => _0x.,2,Dial(SS7/${EXTEN}) ; We dial.
exten => _0x.,3,NoOp(Hangup cause: ${HANGUPCAUSE}) ; Numeric hangupcause
exten => _0x.,4,Hangup ; now we hangup, just to be sure (overprotection ;-))

-- 
Jakub Klausa | +48 509 032 888 | j.klausa at ss7.pl | http://www.ss7.pl/
Dane rejestrowe -> http://kontakt.ss7.pl 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
Url : http://lists.digium.com/pipermail/asterisk-ss7/attachments/20100106/4bc488fe/attachment.pgp 


More information about the asterisk-ss7 mailing list