[asterisk-ss7] chan_ss7 :: Nature of Address Indicator ??

Kristian Nielsen knielsen at knielsen-hq.org
Wed Jan 7 01:27:42 CST 2009


Tusar <tusarbd at gmail.com> writes:

> Hi,
>
> Thanks, Thank you very much for your quick answer.
>
> I just need to set "Calling Nature of Address Indicator" as "unknown"
> . How can I do that by changing code ?
>
> may be you are pointing to l4isup.c ..
>
>  res = isup_calling_party_num_encode(chan->cid.cid_num, pres_restr,
> 0x3 /* network provided */, param, sizeof(param));
>
> should I change here from "0x3" to "0x0" for setting it as "unknown" ?

No, you need to change the function isup_calling_party_num_encode(), line
1718:

  param[0] = (is_odd << 7) | (is_international ? 4 : 3);

Here 4 is the code for "international number", and 3 is the code for
"national (significant) number". The code for "unknown" is 2 (check Q.763
section 3.10 for details).

Eg. to send "unknown" for all calling party nature of address indicator, you
can change the line to this:

  param[0] = (is_odd << 7) | 2;

If you want to do the same for called party number, you need to do the similar
change in both isup_called_party_num_encode() and
isup_called_party_num_encode_no_st().

Also, are you sure this is what you want? From the Q.763 specification it
appears that this will prevent eg. international calls, but I admit I do not
know any details. But if you just want to prevent the calling number to be
displayed at the other end, the correct mechanism is to set "presentation
restrict", not to change nature of address indicator ...

 - Kristian.



More information about the asterisk-ss7 mailing list