[asterisk-users] calleridname presentation Asterisk => Siemens

Richard Mudgett rmudgett at digium.com
Fri Jul 1 14:45:06 CDT 2011


> Hi
> 
> 
> I change for first way in Asterisk 1.8:
> 
> 
> 
> [teste]
> include=>rota00
> exten=>1504,1,Set(CALLERID(name-charset)=unknown)
> exten=>1504,2,Dial(DAHDI/g1/${EXTEN},60,tTwW)
> exten=>1504,3,Hangup()
> 
> 
> But, in debug of the span show the simple form:
> 
> 
> 
> 1 namePresentationAllowedSimple Context Specific [0 0x00] =
> 1 <52 61 66 61 65 6C> - "Rafael"
> 

Looks like the simple way is not going to work.  Chan_dahdi/sig_pri
is still using the old API call that does not pass the character set
value to libpri.

You'll need to go with method two then and use the patch I put in
the previous response.

Richard

> 
> 2011/7/1 Richard Mudgett < rmudgett at digium.com >
> 
> 
> > I interconnect the Asterisk and the Siemens PBX with Pri QSIG. But i
> > can't show the callerid name in the way Asterisk ==> Siemens. I
> > realized that Asterisk send calleridname in format
> > "namePresentationAllowedSimple" to Siemens e Siemens send
> > calleridname
> > in format "namePresentationAllowedExtended". I need change the
> > format
> > of the calleridname in asterisk.
> >
> >
> > How to change?
> 
> There are two ways:
> 
> 1) With Asterisk v1.8 change the character set of the name to
> CALLERID(name-charset)=unknown.
> The default character set of iso8859-1 uses the simple form since that
> is the default character set of the extended form.
> 
> 2) Change libpri as follows in the function rose_enc_qsig_Name() to
> always send the extended form:
> --- rose_qsig_name.c (revision 2267)
> +++ rose_qsig_name.c (working copy)
> @@ -94,22 +94,12 @@
> /* Do not encode anything */
> break;
> case 1: /* presentation_allowed */
> - if (name->char_set == 1) {
> - ASN1_CALL(pos, asn1_enc_string_bin(pos, end,
> ASN1_CLASS_CONTEXT_SPECIFIC | 0,
> - name->data, name->length));
> - } else {
> - ASN1_CALL(pos, rose_enc_qsig_NameSet(ctrl, pos, end,
> - ASN1_CLASS_CONTEXT_SPECIFIC | 1, name));
> - }
> + ASN1_CALL(pos, rose_enc_qsig_NameSet(ctrl, pos, end,
> + ASN1_CLASS_CONTEXT_SPECIFIC | 1, name));
> break;
> case 2: /* presentation_restricted */
> - if (name->char_set == 1) {
> - ASN1_CALL(pos, asn1_enc_string_bin(pos, end,
> ASN1_CLASS_CONTEXT_SPECIFIC | 2,
> - name->data, name->length));
> - } else {
> - ASN1_CALL(pos, rose_enc_qsig_NameSet(ctrl, pos, end,
> - ASN1_CLASS_CONTEXT_SPECIFIC | 3, name));
> - }
> + ASN1_CALL(pos, rose_enc_qsig_NameSet(ctrl, pos, end,
> + ASN1_CLASS_CONTEXT_SPECIFIC | 3, name));
> break;
> case 3: /* presentation_restricted_null */
> ASN1_CALL(pos, asn1_enc_null(pos, end, ASN1_CLASS_CONTEXT_SPECIFIC |
> 7));



More information about the asterisk-users mailing list