[asterisk-ss7] Set NAI -> Subscriber for outgoing calls

Kaloyan Kovachev kkovachev at varna.net
Mon Mar 29 05:22:30 CDT 2010


static int ss7_parse_prefix(struct dahdi_pvt *p, const char *number, char
*nai)
{
        int strip = 0;

        if (strncmp(number, p->ss7->internationalprefix,
strlen(p->ss7->internationalprefix)) == 0) {
                strip = strlen(p->ss7->internationalprefix);
                *nai = SS7_NAI_INTERNATIONAL;
        } else if (strncmp(number, p->ss7->nationalprefix,
strlen(p->ss7->nationalprefix)) == 0) {
                strip = strlen(p->ss7->nationalprefix);
                *nai = SS7_NAI_NATIONAL;
        } else if (strncmp(number, p->ss7->networkroutedprefix,
strlen(p->ss7->networkroutedprefix)) == 0) {
                strip = strlen(p->ss7->networkroutedprefix);
                *nai = SS7_NAI_NETWORKROUTED;
        } else if (strncmp(number, p->ss7->unknownprefix,
strlen(p->ss7->unknownprefix)) == 0) {
                strip = strlen(p->ss7->unknownprefix);
                *nai = SS7_NAI_UNKNOWN;
        } else if (strncmp(number, p->ss7->subscriberprefix,
strlen(p->ss7->subscriberprefix)) == 0) {
                strip = strlen(p->ss7->subscriberprefix);
                *nai = SS7_NAI_SUBSCRIBER;
        } else
                *nai = SS7_NAI_SUBSCRIBER;

        return strip;
}

network routed is matched before subscriber - set
"ss7_networkroutedprefix=NA", so it wont match on blank


On Sat, 27 Mar 2010 23:41:51 +0200, Peter Petrov <peterpet at mail.ru> wrote:
> Brrrrrrrr, why, why , why is networkrouted wneh i set
subscriberprefix?????
> Now my conf is this:
> 
> 
> ss7-mtel-fix*CLI> ss7 show linkset 3
> SS7 flags: 0x0LI>
> SS7 linkset 3 status: Up
> SS7 calling nai: 3
> SS7 called nai: -1
> SS7 nationalprefix: 0
> SS7 internationalprefix: 00
> SS7 unknownprefix:
> SS7 networkroutedprefix:
> SS7 subscriberprefix: 112
> Switch type: ITU
> Our point code: 5176
> SLS shift: 0
> numlinks: 1
> numsps: 1
>   ---------------------------------
>   Adjecent SP PC: 121 STATE: UP
>   TRA:  GOT SENT    T19: not running T21: not running
>   Routes:
>     DPC       State        T6       T10
>   Link SLC: 0 NetMngSLS: 0
>     State:      INSERVICE,  UP
>     STD Test:  passed
>     Got, sent :
>     Inhibit:
>     Changeover: NO
>     Tx buffer:  0
>     Tx queue:   0
>     Retrans pos 0
>     CO buffer:  0
>     CB buffer:  0
>     Last FSN:   4
>     MTP3timers:
> ss7-mtel-fix*CLI>
> 
> 
> 
> chan-dahdi.conf
> 
> language=en
> context=blablabla
> switchtype=euroisdn
> usecallerid=yes
> callwaiting=yes
> usecallingpres=yes
> signalling=ss7
> group=3
> ss7type = itu
> ss7_explicitacm=yes
> ss7_autoacm=yes
> ss7_called_nai=dynamic
> ss7_calling_nai=national
> ss7_internationalprefix=00
> ss7_nationalprefix=0
> ss7_subscriberprefix=112
> linkset = 3
> pointcode = 5176
> adjpointcode = 121
> defaultdpc = 118
> networkindicator=national
> cicbeginswith = 1
> channel = 63-77
> cicbeginswith = 17
> channel = 79-93
> sigchan = 78
> isup_timer.digittimeout = 500
> 
> 
> and now dialing:......
> 
> 
> 
> 
> 
> 
>     -- Goto (emergency,112,3)
>     -- Executing [112 at emergency:3] Dial("SIP/52461234-00000001",
>     "DAHDI/g3/112,30") in new stack
>     -- Called g3/112
> Len = 32 [ 87 89 1d 85 76 00 0e 15 01 00 01 00 60 01 0a 00 02 06 04 08
10
> 11 f2 0a 06 03 10 25 64 21 43 00 ]
> FSN: 9 FIB 1
> BSN: 7 BIB 1
>>[0] MSU
> [ 87 89 1d ]
>         Network Indicator: 2 Priority: 0 User Part: ISUP (5)
>         [ 85 ]
>         OPC 5176 DPC 118 SLS 1
>         [ 76 00 0e 15 ]
>                 CIC: 1
>                 [ 01 00 ]
>                 Message Type: IAM
>                 [ 01 ]
>                 --FIXED LENGTH PARMS[4]--
>                 Nature of Connection Indicator:
>                         Satellites in connection: 0
>                         Continuity Check: Check not required (0)
>                         Outgoing half echo control device: not included
(0)
>                         [ 00 ]
>                 Forward Call Indicators:
>                         Nat/Intl Call Ind: call to be treated as a
>                         national call (0)
>                         End to End Method Ind: no end-to-end method(s)
>                         available (0)
>                         Interworking Ind: no interworking encountered
(0)
>                         End to End Info Ind: no end-to-end information
>                         available (0)
>                         ISDN User Part Ind: ISDN user part used all the
>                         way (1)
>                         ISDN User Part Pref Ind: ISDN user part not
>                         preferred all the way (1)
>                         ISDN Access Ind: originating access ISDN (1)
>                         SCCP Method Ind: no indication (0)
>                         P-M bits(0) P: 0 O: 0 N: 0 M: 0
>                         [ 60 01 ]
>                 Calling Party's Category:
>                         Category: Ordinary calling subscriber (10)
>                         [ 0a ]
>                 Transmission Medium Requirements:
>                         Speech (0)
>                         [ 00 ]
>                 --VARIABLE LENGTH PARMS[1]--
>                 Called Party Number:
>                         Nature of address: 8
>                         NI: 0
>                         Numbering plan: 1
>                         Address signals: 112#
>                         [ 04 08 10 11 f2 ]
>                 --OPTIONAL PARMS--
>                 Calling Party Number:
>                         Nature of address: 3
>                         NI: 0
>                         Numbering plan: 1
>                         Presentation: 0
>                         Screening: 0
> ss7-mtel-fix*CLI>       Address signals: 52461234
>                         [ 0a 06 03 10 25 64 21 43 ]
> 
> Len = 16 [ 89 88 0d 85 38 94 1d 10 01 00 0c 02 00 02 82 95 ]
> FSN: 8 FIB 1
> BSN: 9 BIB 1
> <[0] MSU
> [ 89 88 0d ]
>         Network Indicator: 2 Priority: 0 User Part: ISUP (5)
>         [ 85 ]
>         OPC 118 DPC 5176 SLS 1
>         [ 38 94 1d 10 ]
>                 CIC: 1
>                 [ 01 00 ]
>                 Message Type: REL
>                 [ 0c ]
>                 --VARIABLE LENGTH PARMS[1]--
>                 Cause Indicator:
>                         Coding Standard: 0
>                         Location: 2
>                         Cause Class: 1
>                         Cause Subclass: 5
>                         Cause: Call rejected (21)
>                         [ 02 82 95 ]
> 
>     -- Hungup 'DAHDI/63-1'
>   == Everyone is busy/congested at this time (1:0/0/1)
>     -- Executing [112 at emergency:4] Hangup("SIP/52461234-00000001", "")
in
>     new stack
>   == Spawn extension (emergency, 112, 4) exited non-zero on
>   'SIP/52461234-00000001'
> Len = 12 [ 88 8a 09 85 76 00 0e 15 01 00 10 00 ]
> FSN: 10 FIB 1
> BSN: 8 BIB 1
>>[0] MSU
> [ 88 8a 09 ]
>         Network Indicator: 2 Priority: 0 User Part: ISUP (5)
>         [ 85 ]
>         OPC 5176 DPC 118 SLS 1
>         [ 76 00 0e 15 ]
>                 CIC: 1
>                 [ 01 00 ]
>                 Message Type: RLC
>                 [ 10 ]
> 
> 
> Why now NAI is "8"?????
> 
> 
> 
> Sat, 27 Mar 2010 22:21:42 +0100 письмо от Domjan Attila
> <adomjan at tvnet.hu>:
> 
>> /* Nature of Address Indicator */
>> #define SS7_NAI_SUBSCRIBER              0x01
>> #define SS7_NAI_UNKNOWN                 0x02
>> #define SS7_NAI_NATIONAL                0x03
>> #define SS7_NAI_INTERNATIONAL           0x04
>> #define SS7_NAI_NETWORKROUTED                                   0x08
>> 
>> On Sat, 2010-03-27 at 23:01 +0200, Peter Petrov wrote:
>> > In this case call is going with NAI ->(8), but
>> > he dialing with prefix (7), i dont know why.....:(
>> > 
>> > 
>> > 
>> > Sat, 27 Mar 2010 21:31:53 +0100 письмо от Domjan Attila
>> > <adomjan at tvnet.hu>:
>> > 
>> > > in ael for example:
>> > > 
>> > > 112 => {
>> > > 	Dial(g3/07${EXTEN});
>> > > };
>> > > 
>> > > _X. => {
>> > > 	Dial(g3/${EXTEN});
>> > > };
>> > > 
>> > > I manipulate the ${EXTEN} more complex way in my dialplan
>> > > 
>> > > On Sat, 2010-03-27 at 22:08 +0200, Peter Petrov wrote:
>> > > > hi,
>> > > > when i need dial emergency number "112" from my asterisk to
Telco,
>> > > > need send call
>> > > > with NAI - Subscriber, but i dont know how need to do...
>> > > > 
>> > > > May be  i need set variable ss7_subsrcriberprefix=07 <- for
example
>> > > > and in dialplan i need set this:
>> > > > 
>> > > > Dial(DAHDI/g3/07${EXTEN})
>> > > > 
>> > > > May this is wrong..... I need set subscriber only for this
>> > > > call.... Please, i need help
>> > > > 
>> > > > 
>> > > > 
>> > > 
>> > > 
>> > > ATTACHMENT: application/pgp-signature (signature.asc)
>> > > 
>> 
>> 
>> ATTACHMENT: application/pgp-signature (signature.asc)
>> 
> 
> -- 
> _____________________________________________________________________
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
> 
> asterisk-ss7 mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-ss7



More information about the asterisk-ss7 mailing list