Rafael dos Santos Saraiva
2011-Jul-01 14:36 UTC
[asterisk-users] calleridname presentation Asterisk => Siemens
Hi 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? Thank?s and sorry for my wrong english. Att, Rafael Saraiva -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20110701/02d75f75/attachment.htm>
Richard Mudgett
2011-Jul-01 15:56 UTC
[asterisk-users] calleridname presentation Asterisk => Siemens
> 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)); Richard