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

Kaloyan Kovachev kkovachev at varna.net
Mon Mar 29 05:27:28 CDT 2010


maybe it will be better to check in the code for non blank prefix? Or it
will break some other logic?

On Mon, 29 Mar 2010 13:22:30 +0300, Kaloyan Kovachev <kkovachev at varna.net>
wrote:
> 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

You will need to change also unknown prefix, as it will match next

> 
> 
> 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
> 
> -- 
> _____________________________________________________________________
> -- 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