[asterisk-dev] Diverting Leg Information 2. Original called number.

Richard Mudgett rmudgett at digium.com
Tue May 31 14:59:49 CDT 2011


> Richard Mudgett пишет:
> >> I need libpri developers suggestion.
> >>
> >> Upperlaid Switch do not accept Facility with
> >> DivertingLegInformation2
> >> from Asterisk.
> >> The reason is: The Called number present as the Numbuer (Ox80) not
> >> as
> >> the Numeric String (0x12) by ETSI recomendations.
> >>
> >> > Context Specific [0 0x00] <80> Len:9 <09>
> >> > <36 37 34 30 31 37 32 35-36> - "674017256"
> >> > ASN.1 end
> >
> > Please supply the complete decode of the facility ie.
> 
> ASN.1 dump
> Context Specific/C [1 0x01] <A1> Len:29 <1D>
> Integer(2 0x02) <02> Len:1 <01>
> <0E> - "~"
> Integer(2 0x02) <02> Len:1 <01>
> <0F> - "~"
> Sequence/C(48 0x30) <30> Len:21 <15>
> Integer(2 0x02) <02> Len:1 <01>
> <01> - "~"
> Enumerated(10 0x0A) <0A> Len:1 <01>
> <01> - "~"
> Context Specific/C [1 0x01] <A1> Len:13 <0D>
> Context Specific/C [0 0x00] <A0> Len:11 <0B>
> Context Specific [0 0x00] <80> Len:9 <09>
> <36 37 34 30 31 37 32 35-36> - "674017256"
> ASN.1 end
> INVOKE Component Context Specific/C [1 0x01]
> invokeId Integer(2 0x02) = 14 0x000E
> operationValue Integer(2 0x02) = 15 0x000F
> operationValue = ROSE_ETSI_DivertingLegInformation2
> DivertingLegInformation2 Sequence/C(48 0x30)
> diversionCounter Integer(2 0x02) = 1 0x0001
> diversionReason Enumerated(10 0x0A) = 1 0x0001
> Explicit Context Specific/C [1 0x01]
> divertingNr PresentedNumberUnscreened
> Explicit Context Specific/C [0 0x00]
> presentationAllowedNumber PartyNumber
> unknownPartyNumber Context Specific [0 0x00] = "674017256"
> 
> 
> 
> >
> >> ....
> >> >  > Facility (len=34, codeset=0) [ 0x91, 0xA1, 0x1D, 0x02, 0x01,
> >> >  > 0x0E,
> >> > 0x02, 0x01, 0x0F, '0',
> >> > 0x15, 0x02, 0x01, 0x01, 0x0A, 0x01, 0x01, 0xA1, 0x0D, 0xA0, 0x0B,
> >> > 0x80,
> >> > 0x09, '674017256'
> >>
> >> I'm not an expert in a ETSI recommendations. However, I'm
> >> completely
> >> sure I have to fix it in libpri myself. Nobody going to do iton the
> >> switch.
> >>
> >> I look at the source rose_enc_etsi_DivertingLegInformation2_ARG
> >>
> >> I's look like no a simple way to encode the number as the Numeric
> >> String
> >> from roseEtsiDivertingLegInformation2_ARG structure. My be I miss
> >> something?
> >
> > Without manually decoding, it looks like the Upperlaid Switch
> > is not surrounding the original called number with enough
> > encapsulation.
> 
> Today I have a talk with the former switch developer. He explain me
> the reason of:
> 
> ERROR Component Context Specific/C [3 0x03]
> invokeId Integer(2 0x02) = 14 0x000E
> errorValue Integer(2 0x02) = 4 0x0004
> errorValue = General: Not Implemented
> [May 29 20:17:28] ERROR[24267]: chan_dahdi.c:9346 dahdi_pri_error:
> ROSE RETURN ERROR:
> [May 29 20:17:28] ERROR[24267]: chan_dahdi.c:9346 dahdi_pri_error:
> INVOKE ID: 14
> [May 29 20:17:28] ERROR[24267]: chan_dahdi.c:9346 dahdi_pri_error:
> ERROR:
> General: Not
> Implemented
> 
> Before I contact the Asterisk developers
> 
> > You should be able to use lower level routines to encode what you
> > need.
> 
> Worst, it's not a low level routune which encode number to a Numeric
> String.
> It was the reason why I contact the developers.
> I just have to wite this routune myself. It's little bit a difficult
> to do on production
> server.
> 

You could suppress sending the DivLegInfo2 message by always setting the redirecting count to zero before dialing.

Richard



More information about the asterisk-dev mailing list