[Home]

Summary:ASTERISK-10760: [patch] Asterisk-1.4.13 :: chan_h323 :: callerid(name) / h323id not sent during setup message
Reporter:Tusar Ahmed (tusar)Labels:
Date Opened:2007-11-14 02:19:38.000-0600Date Closed:2008-02-19 14:27:54.000-0600
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Channels/chan_h323
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) h323id_as_callerid_name.patch
Description:Asterisk-1.4.13 with chan_h323 is *not* sending callerid(name) / h323id during *setup message . But Asterisk-1.2.x with chan_h323 is working fine as expected.

PWLib-v1.10.0
OpenH323-v1.18.0

[test]
exten => _XXX,1,Wait,1
exten => _XXX,n,Set(CALLERID(name)=Tusar)
exten => _XXX,n,Set(CALLERID(num)=555555)
exten => _XXX,n,Dial(H323/${EXTEN}@xx.xx.xx.xx:1720,60)
exten => _XXX,n,Hangup



****** ADDITIONAL INFORMATION ******

Here is below h323 trace 4 log ..
### Asterisk-v.1.2.13 Log
=========================
 {
   q931pdu = {
     protocolDiscriminator = 8
     callReference = 2222
     from = originator
     messageType = Setup
     IE: Bearer-Capability = {
       80 90 a5                                           ...
     }
     IE: Display = {
       54 75 73 61 72 00                                  Tusar.
     }
     IE: Calling-Party-Number = {
       81 35 35 35 35 35 35                               .555555
     }
     IE: Called-Party-Number = {
       81 30 32 31 31 31                                  .02111
     }
     IE: User-User = {
       20 b8 06 00 08 91 4a 00  04 01 40 04 00 54 00 75    .....J...@..T.u
       00 73 00 61 00 72 22 c0  09 00 00 3d 37 54 68 65   .s.a.r"....=7The
       ...
     }
   }
   h225pdu = {
     h323_uu_pdu = {
       h323_message_body = setup {
         protocolIdentifier = 0.0.8.2250.0.4
         sourceAddress = 1 entries {
           [0]=h323_ID  5 characters {
             0054 0075 0073 0061 0072                  Tusar <<== H323id as expected
           }
         }
         sourceInfo = {
           vendor = {
             vendor = {
               t35CountryCode = 9
               t35Extension = 0
               manufacturerCode = 61
             }



### Asterisk-v.1.4.13 Log
=============================


 {
   q931pdu = {
     protocolDiscriminator = 8
     callReference = 16318
     from = originator
     messageType = Setup
     IE: Bearer-Capability = {
       80 90 a5                                           ...
     }
     IE: Progress-Indicator = {
       80 83                                              ..
     }
     IE: Display = {
       54 75 73 61 72 00                                  Tusar.
     }
     IE: Calling-Party-Number = {
       00 80 35 35 35 35 35 35                            ..555555
     }
     IE: Called-Party-Number = {
       81 30 32 31 31 31                                  .02111
     }
     IE: User-User = {
       20 b8 06 00 08 91 4a 00  04 01 02 80 88 88 88 22    .....J........"
       c0 09 00 00 3d 36 54 68  65 20 4e 75 46 6f 6e 65   ....=6The NuFone
       ...
     }
   }
   h225pdu = {
     h323_uu_pdu = {
       h323_message_body = setup {
         protocolIdentifier = 0.0.8.2250.0.4
         sourceAddress = 1 entries {
           [0]=dialedDigits "555555" <<== H323 ID ????
         }
         sourceInfo = {
           vendor = {
             vendor = {
               t35CountryCode = 9
               t35Extension = 0
               manufacturerCode = 61
             }
Comments:By: Tusar Ahmed (tusar) 2007-11-20 07:32:52.000-0600

Same result is getting using Asterisk-1.4.14 also .

/Tusar/

By: Andrey Solovyev (corruptor) 2007-11-20 08:09:26.000-0600

I've noticed this on my system too. I guess that instead of CALLERID(num) it sends CALLERID(name)...

By: Andrey S Pankov (casper) 2007-11-23 09:04:25.000-0600

Are you sure you are using the same pwlib/openh323 versions for that?

By: Andrey S Pankov (casper) 2007-11-23 09:08:51.000-0600

Where do you see the problem?
It's legal afaik to include Calling-Party-Number as sourceAddress.
And I think that this is done by openh323 library, not chan_h323 driver.

By: Tusar Ahmed (tusar) 2007-11-23 11:26:14.000-0600

Agreed that Calling-Party-Number is as sourceAddress. But see below log or above log ...Version 1.2.x and 1.4.x setting different behavior . With ver.1.2.x  h225pdu message getting "h323_ID" as sourceAddress but with ver.1.4.x  h225pdu message getting "Calling-Party-Number" as sourceAddress even there is "IE: Display" is as "Name" .


### Asterisk-v.1.2.13 Log
=========================
h225pdu = {
     h323_uu_pdu = {
       h323_message_body = setup {
         protocolIdentifier = 0.0.8.2250.0.4
         sourceAddress = 1 entries {
           [0]=h323_ID 5 characters {
             0054 0075 0073 0061 0072 Tusar           <<== [H323id as expected]
           }
         }

### Asterisk-v.1.4.13 Log
=====================
h225pdu = {
     h323_uu_pdu = {
       h323_message_body = setup {
         protocolIdentifier = 0.0.8.2250.0.4
         sourceAddress = 1 entries {
           [0]=dialedDigits "555555"                    <<== [H323 ID ???? ]
         }

//Tusar//

By: Tusar Ahmed (tusar) 2007-11-23 11:45:57.000-0600

As installation direction pwlib/openh323 was different ..

Asterisk-1.2.x
===============
PWLib-v.1.9.0
OpenH323-v.1.17.1

Asterisk-1.4.x
===============
PWLib-v.1.10.0
OpenH323-v.1.18.0

By: Tomás Laureano Peralta Tormey (laureano) 2007-11-23 15:14:33.000-0600

Tusar:
I investigated your report and I think that this bug could be related to the commit #79174, which prevents a possible memory leak when the structures for a new channel are allocated.
As far I can see in the code, you could use the following string:
exten => _XXX,n,Dial(H323/${EXTEN}@xx.xx.xx.xx:1720/myH323ID,60)
to set the H.323 ID for this call. Can you please test this and provide me any feedback? Be aware that I tested this workaround only in a development box, so be careful if you are going to test this on a production box.

Thank you.

By: Tusar Ahmed (tusar) 2007-11-24 02:03:23.000-0600

Hi Laureano,

I have tried as per your suggestion ..
exten => _XXX,n,Dial(H323/${EXTEN}@xx.xx.xx.xx:1720/Tusar,60)
But result is the same as before.

Thanks & Regards,
// Tusar

By: Tomás Laureano Peralta Tormey (laureano) 2007-11-24 18:44:52.000-0600

Tusar:
I've installed an development box trying to replicate yours.
I investigated a lot more and I think that this bug ISN'T related to the commit 79174 at all. My mistake, sorry. I will try to find out what is going on with this issue.

Thank you for your feedback. I will let you know as soon as I have any news.

By: pj (pj) 2007-11-24 20:28:13.000-0600

fyi: I'm using asterisk trunk and not investigating issues with chan_h323 and caller id.

By: Tusar Ahmed (tusar) 2007-11-30 03:55:12.000-0600

Latest asterisk 1.4.15 did not fix the problem .

By: Tusar Ahmed (tusar) 2007-12-05 00:50:36.000-0600

Attached patch file solved my problem.

--- ast_h323.cxx.orig   2007-12-04 18:28:42.000000000 +0600
+++ ast_h323.cxx        2007-12-05 12:25:16.000000000 +0600
@@ -718,7 +718,8 @@
               fastStartState = (opts->fastStart ? FastStartInitiate : FastStartDisabled);
               h245Tunneling = (opts->h245Tunneling ? TRUE : FALSE);
       } else {
-               SetLocalPartyName(PString(opts->cid_num));
+               sourceE164 = PString(opts->cid_num);
+               SetLocalPartyName(PString(opts->cid_name));
               SetDisplayName(PString(opts->cid_name));
               if (opts->redirect_reason >= 0) {
                       rdnis = PString(opts->cid_rdnis);
@@ -1247,7 +1248,7 @@
       /* OpenH323 will build calling party information with default
          type and presentation information, so build it to be recorded
          by embedding routines */
-       setupPDU.GetQ931().SetCallingPartyNumber(GetLocalPartyName(), (cid_ton >> 4) & 0x07,
+       setupPDU.GetQ931().SetCallingPartyNumber(sourceE164, (cid_ton >> 4) & 0x07,
                       cid_ton & 0x0f, (cid_presentation >> 5) & 0x03, cid_presentation & 0x1f);
       setupPDU.GetQ931().SetDisplayName(GetDisplayName());


Thanks,

//Tusar//

By: Digium Subversion (svnbot) 2008-02-19 14:24:45.000-0600

Repository: asterisk
Revision: 103823

U   branches/1.4/channels/h323/ast_h323.cxx

------------------------------------------------------------------------
r103823 | file | 2008-02-19 14:24:44 -0600 (Tue, 19 Feb 2008) | 6 lines

Send CallerID Name in setup message.
(closes issue ASTERISK-10760)
Reported by: tusar
Patches:
     h323id_as_callerid_name.patch uploaded by tusar (license 344)

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=103823

By: Digium Subversion (svnbot) 2008-02-19 14:27:54.000-0600

Repository: asterisk
Revision: 103824

_U  trunk/
U   trunk/channels/h323/ast_h323.cxx

------------------------------------------------------------------------
r103824 | file | 2008-02-19 14:27:53 -0600 (Tue, 19 Feb 2008) | 14 lines

Merged revisions 103823 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r103823 | file | 2008-02-19 16:28:08 -0400 (Tue, 19 Feb 2008) | 6 lines

Send CallerID Name in setup message.
(closes issue ASTERISK-10760)
Reported by: tusar
Patches:
     h323id_as_callerid_name.patch uploaded by tusar (license 344)

........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=103824