[asterisk-commits] pcadach: branch 1.4 r44042 -
/branches/1.4/channels/h323/ast_h323.cxx
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Fri Sep 29 14:05:43 MST 2006
Author: pcadach
Date: Fri Sep 29 16:05:43 2006
New Revision: 44042
URL: http://svn.digium.com/view/asterisk?rev=44042&view=rev
Log:
Set TON/PRESENTATION information more carefully when no CallingNumber IE available
Modified:
branches/1.4/channels/h323/ast_h323.cxx
Modified: branches/1.4/channels/h323/ast_h323.cxx
URL: http://svn.digium.com/view/asterisk/branches/1.4/channels/h323/ast_h323.cxx?rev=44042&r1=44041&r2=44042&view=diff
==============================================================================
--- branches/1.4/channels/h323/ast_h323.cxx (original)
+++ branches/1.4/channels/h323/ast_h323.cxx Fri Sep 29 16:05:43 2006
@@ -762,6 +762,16 @@
/* Construct fields back */
cd->type_of_number = (type << 4) | screening;
cd->presentation = (presentation << 5) | screening;
+ } else if (cd->call_source_e164[0]) {
+ cd->type_of_number = 0; /* UNKNOWN */
+ cd->presentation = 0x03; /* ALLOWED NETWORK NUMBER - Default */
+ if (setupPDU.GetQ931().HasIE(Q931::UserUserIE)) {
+ H225_Setup_UUIE &setup_uuie = setupPDU.m_h323_uu_pdu.m_h323_message_body
+ if (setup_uuie.HasOptionalField(e_presentationIndicator))
+ cd->presentation = (cd->presentation & 0x9f) | (((unsigned int)setup_uuie.m_presentationIndicator.GetTag()) << 5);
+ if (setup_uuie.HasOptionalField(e_screeningIndicator))
+ cd->presentation = (cd->presentation & 0xe0) | (((unsigned int)setup_uuie.m_screeningIndicator.GetValue()) & 0x1f);
+ }
} else {
cd->type_of_number = 0; /* UNKNOWN */
cd->presentation = 0x43; /* NUMBER NOT AVAILABLE */
More information about the asterisk-commits
mailing list