Aonzo Emanuele | 8 Jun 2005 10:22
Picon

Problem with NetMeeting

Hi,

(Only for information)

I’ve found this behavior: If you call with “simple” a remote Net Meeting configured with the option “Automatically accept calls” an “Access violation” occurs.

 

The problem is in ooh323.c line 441 :

 

………..

   if(q931Msg->userInfo->h323_uu_pdu.m.h245TunnelingPresent) ß---------- This is the line

   {

      if (!q931Msg->userInfo->h323_uu_pdu.h245Tunneling)

      {

         if (OO_TESTFLAG (call->flags, OO_M_TUNNELING))

         {

            OO_CLRFLAG (call->flags, OO_M_TUNNELING);

            OOTRACEINFO3("Tunneling is disabled by remote endpoint.(%s, %s)\n",

                          call->callType, call->callToken);

         }

      }

   }

……..

 

I’m testing on ooh323c v 0.6

 

I attach the log file.

 

Regards,

Emanuele

 

Attachment (simple.log): application/octet-stream, 1375 bytes
Vishal Phirke | 9 Jun 2005 00:55
Picon

ooh323c 0.7 Released

Hi All,
Version 0.7 of ooh323c is now available. Also, the binaries for
windows using Visual Studio 6 and linux using gcc 3.2.2 are now
available from Objective systems website. Here's the news release:

"Objective Systems Released version 0.7 of it's open source H.323
stack. The stack is entirely developed in C. It is single threaded and
has relatively small footprint.

Release 0.7 
1.Now supports for G711 ulaw/alaw, G729, G729a,  
G723.1, GSM, H.263 codecs 
2. Improved application development support by providing 
two levels of callbacks, viz., at call level (examples  
onIncomingCall, onCallEstablished, onCallCleared) and 
at message level(examples onReceivedSetup,  
onBuiltSetup). The call level callbacks provide  
applications high level call events where as message  
level callbacks allow applications to do finer things like 
additional processing of incoming messages or modify  
outgoing messages before they are sent. 
3. Improved sample telephony application. 
4. Support for Call Forward using Facility UUIE. 
5. Improved documentation. 
6. Code improvement and bug fixes.

"You can download it from www.obj-sys.com/open or
http://sourceforge.net/project/showfiles.php?group_id=121413"

Regards,
Vishal Phirke
Objective Systems
www.obj-sys.com

-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.  How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy.  
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r 
Vishal Phirke | 9 Jun 2005 16:28
Picon

Re: ooH323c 0.6 Released

Hi Sam,

Checkout simple telephony application in release 0.7.

Regards,
Vishal Phirke

On 6/9/05, "SamLiao[廖明凱]" <samliao <at> aiptek.com.tw> wrote:
>  Dear Sir,
>  
>  How can I  reject a incoming call?
>  
>  I try to modify the the osEpOnAlerting to be:
>  int osEpOnAlerting(ooCallData* call)
>  {
>      int ret;
>  
>      if ((strcmp(call->callType, "incoming") == 0)&&(!autoAnswer))
>      {
>          printf("on Alerting ..........................\n"); 
>          if (strcmp(call->remoteIP, "0.0.0.0")==0)
>              printf("calling from %s(GK), accept y/n?\n",
> call->remoteAliases->value);
>          else
>              printf("calling from %s(%s), accept y/n?\n",
> call->remoteAliases->value, call->remoteIP);
>  
>          answered = 0;
>          while(!answered)
>          {
>              ooSleep(1000);   //wait for 1 second
>          }
>  
>          if (strcmp(answer, "y\n") == 0)
>              return ooAnswerCall(callToken);    //sam <at> 20050609
>          else if (strcmp(answer, "n\n") == 0)
>              return ooRejectCall(callToken, NULL); 
>  //            return ooHangCall(callToken);
>      }
>  }
>  
>  So far, when the celled endpoint press "y", it can make a conversation
> successfully.
>  
>  I tried to use either ooRejectCall or ooHangCall when "is pressed",
>  however, the system doesn't work as I thought.
>  
>  ooRejectCall ->still make a connection with each other, just like the
> situation when "y"is pressed.
>  
>  ooHangCall -> the called endpoint hang up call successfully;
>                            however, the calling endpoint will exit because
> of  "Broken pipe" error.
>  
>  Could You give me any suggestions?
>  
>  Thanks a lot!!!
>  
>  Best Regards,
>  Sam
>  AIPTEK Inc.
>  
>  
>  
>  
>  Vishal Phirke wrote: 
>  Hi All,
> New Release 0.6 is now available. Please let me know if you face any
> problems testing.
> 
> Release 0.6
> 1. Added support for timers/timeouts for various messages.
> 2. Added support for various Reject/Release messages.
> 3. RAS layer functionality changed to create a more modular gatekeeper
> client.
> 4. Code refactoring for better design and performance.
> 5. Improved capability creation and management code.
> 6. Added alias addresses to connect/setup/alerting messages.
> 
> You can download it from http://www.obj-sys.com/open/
> or from
> https://sourceforge.net/project/showfiles.php?group_id=121413
> 
> Regards,
> Vishal Phirke
> Objective Systems
> 
> 
>  
>
Vishal Phirke | 9 Jun 2005 19:41
Picon

Re: Problem with NetMeeting

Hi Aonzo,
Your log file shows normal termination of application by issuing
ooStopMonitorCalls. Also, I checked code, this line doesn't look like
it can cause a problem. Can you provide more details. I tried testing
0.7 release with NetMeeting in autoanswer mode. It worked. Can you
retest with 0.7 release.  My NetMeeting version is 3.01
Regards,
vishal

On 6/8/05, Aonzo Emanuele <Emanuele.Aonzo <at> elsag.it> wrote:
>  
>  
> 
> Hi, 
> 
> (Only for information) 
> 
> I've found this behavior: If you call with "simple" a remote Net Meeting
> configured with the option "Automatically accept calls" an "Access
> violation" occurs. 
> 
>   
> 
> The problem is in ooh323.c line 441 : 
> 
>   
> 
> ……….. 
> 
>   
> if(q931Msg->userInfo->h323_uu_pdu.m.h245TunnelingPresent)
> ß---------- This is the line 
> 
>    { 
> 
>       if (!q931Msg->userInfo->h323_uu_pdu.h245Tunneling) 
> 
>       { 
> 
>          if (OO_TESTFLAG (call->flags, OO_M_TUNNELING)) 
> 
>          { 
> 
>             OO_CLRFLAG (call->flags, OO_M_TUNNELING); 
> 
>             OOTRACEINFO3("Tunneling is disabled by remote
> endpoint.(%s, %s)\n", 
> 
>                           call->callType, call->callToken); 
> 
>          } 
> 
>       } 
> 
>    } 
> 
> …….. 
> 
>   
> 
> I'm testing on ooh323c v 0.6 
> 
>   
> 
> I attach the log file. 
> 
>   
> 
> Regards, 
> 
> Emanuele 
> 
>   
>
Aonzo Emanuele | 16 Jun 2005 15:21
Picon

problem in the ooh323c stak

Hi, I’m testing ooh323c v0.7 and I’ve found this problem:

 

If you call with “simple” a remote h.323ep and this process crash the “simple” makes an infinite loop, it can’t make other calls and write a lot of error logs like this:

 

….

14:15:18:195  ERROR:Failed ooH2250Receive - Clearing call (outgoing, ooh323c_6)

14:15:18:195  Error: Reading TPKT header for H245 message (outgoing, ooh323c_6)

14:15:18:195  Error: Reading TPKT header for H225 message recvLen= -44 (outgoing

, ooh323c_6)

14:15:18:195  ERROR:Failed ooH2250Receive - Clearing call (outgoing, ooh323c_6)

14:15:18:195  Error: Reading TPKT header for H245 message (outgoing, ooh323c_6)

14:15:18:195  Error: Reading TPKT header for H225 message recvLen= -44 (outgoing

, ooh323c_6)

14:15:18:195  ERROR:Failed ooH2250Receive - Clearing call (outgoing, ooh323c_6)

14:15:18:195  Error: Reading TPKT header for H245 message (outgoing, ooh323c_6)

14:15:18:195  Error: Reading TPKT header for H225 message recvLen= -44 (outgoing

, ooh323c_6)

14:15:18:195  ERROR:Failed ooH2250Receive - Clearing call (outgoing, ooh323c_6)

14:15:18:195  Error: Reading TPKT header for H245 message (outgoing, ooh323c_6)

14:15:18:195  Error: Reading TPKT header for H225 message recvLen= -44 (outgoing

, ooh323c_6)

14:15:18:195  ERROR:Failed ooH2250Receive - Clearing call (outgoing, ooh323c_6)

14:15:18:195  Error: Reading TPKT header for H245 message (outgoing, ooh323c_6)

14:15:18:195  Error: Reading TPKT header for H225 message recvLen= -44 (outgoing

…..

 

The log file grows very fast and fills the entire hard disk, my “simple.log” for example became 870 Mb in a little time.

 

Another question: I see in oocapability.c various instructions like this:

 

         epCap = (ooH323EpCapability*)memAlloc(call->pctxt,

                                                 sizeof(ooH323EpCapability));

         params =(OOGSMCapParams*)memAlloc(call->pctxt,sizeof(OOGSMCapParams));

         if(!epCap || !params)

         {

            OOTRACEERR3("Error:Memory - ooIsAudioDataTypeGSMSupported - "

                        "epCap/params (%s, %s)\n", call->callType,

                        call->callToken);

            return NULL;

         }

 

If a memalloc() fails and the other is good the pointer is lost with memory leak.

 

      epCap = (ooH323EpCapability*)memAlloc(call->pctxt,

                                                  sizeof(ooH323EpCapability));

      params = (OOH263CapParams*) memAlloc(call->pctxt,

                                                      sizeof(OOH263CapParams));

      if(!epCap && !params)

      {

         OOTRACEERR3("Error:Memory - ooIsVideoDataTypeH263Supported - "

                     "epCap/params. (%s, %s)\n", call->callType,

                     call->callToken);

         return NULL;

      }

      epCap->params = params;

 

but if epCap is NULL epCap->params can crash.

 

Regards,

Emanuele

 

 

 

 

 

Vishal Phirke | 16 Jun 2005 15:58
Picon

Re: problem in the ooh323c stak

Hi Aonzo,
Thanks for the inputs. Here are my comments:
Case 1: Remote endpoint crashes. I will try to test this scenario. Can
you provide me detailed log for this case, if you could reproduce it
very easily.
Case 2: It won't cause a memory leak. The memAlloc function uses
context to allocate memory. And even if you loose the reference to
memory, the context always owns that memory. Hence, when call is
cleared, that memory will be cleared too with the context.
I have ran valgrind on 0.7 release and there are no memory leaks reported. 
Case 3. Should be an || condition and not &&. Will fix that.

Regards,
Vishal

On 6/16/05, Aonzo Emanuele <Emanuele.Aonzo <at> elsag.it> wrote:
>  
>  
> 
> Hi, I'm testing ooh323c v0.7 and I've found this problem: 
> 
>   
> 
> If you call with "simple" a remote h.323ep and this process crash the
> "simple" makes an infinite loop, it can't make other calls and write a lot
> of error logs like this: 
> 
>   
> 
> . 
> 
> 14:15:18:195  ERROR:Failed ooH2250Receive - Clearing call (outgoing,
> ooh323c_6) 
> 
> 14:15:18:195  Error: Reading TPKT header for H245 message (outgoing,
> ooh323c_6) 
> 
> 14:15:18:195  Error: Reading TPKT header for H225 message recvLen= -44
> (outgoing 
> 
> , ooh323c_6) 
> 
> 14:15:18:195  ERROR:Failed ooH2250Receive - Clearing call (outgoing,
> ooh323c_6) 
> 
> 14:15:18:195  Error: Reading TPKT header for H245 message (outgoing,
> ooh323c_6) 
> 
> 14:15:18:195  Error: Reading TPKT header for H225 message recvLen= -44
> (outgoing 
> 
> , ooh323c_6) 
> 
> 14:15:18:195  ERROR:Failed ooH2250Receive - Clearing call (outgoing,
> ooh323c_6) 
> 
> 14:15:18:195  Error: Reading TPKT header for H245 message (outgoing,
> ooh323c_6) 
> 
> 14:15:18:195  Error: Reading TPKT header for H225 message recvLen= -44
> (outgoing 
> 
> , ooh323c_6) 
> 
> 14:15:18:195  ERROR:Failed ooH2250Receive - Clearing call (outgoing,
> ooh323c_6) 
> 
> 14:15:18:195  Error: Reading TPKT header for H245 message (outgoing,
> ooh323c_6) 
> 
> 14:15:18:195  Error: Reading TPKT header for H225 message recvLen= -44
> (outgoing 
> 
> , ooh323c_6) 
> 
> 14:15:18:195  ERROR:Failed ooH2250Receive - Clearing call (outgoing,
> ooh323c_6) 
> 
> 14:15:18:195  Error: Reading TPKT header for H245 message (outgoing,
> ooh323c_6) 
> 
> 14:15:18:195  Error: Reading TPKT header for H225 message recvLen= -44
> (outgoing 
> 
> .. 
> 
>   
> 
> The log file grows very fast and fills the entire hard disk, my "simple.log"
> for example became 870 Mb in a little time. 
> 
>   
> 
> Another question: I see in oocapability.c various instructions like this: 
> 
>   
> 
>          epCap = (ooH323EpCapability*)memAlloc(call->pctxt,
> 
>                                                 
> sizeof(ooH323EpCapability)); 
> 
>          params
> =(OOGSMCapParams*)memAlloc(call->pctxt,sizeof(OOGSMCapParams));
> 
>          if(!epCap || !params) 
> 
>          { 
> 
>             OOTRACEERR3("Error:Memory - ooIsAudioDataTypeGSMSupported - " 
> 
>                         "epCap/params (%s, %s)\n", call->callType, 
> 
>                         call->callToken); 
> 
>             return NULL; 
> 
>          } 
> 
>   
> 
> If a memalloc() fails and the other is good the pointer is lost with memory
> leak. 
> 
>   
> 
>       epCap = (ooH323EpCapability*)memAlloc(call->pctxt, 
> 
>                                                  
> sizeof(ooH323EpCapability)); 
> 
>       params = (OOH263CapParams*) memAlloc(call->pctxt, 
> 
>                                                      
> sizeof(OOH263CapParams)); 
> 
>       if(!epCap && !params) 
> 
>       { 
> 
>          OOTRACEERR3("Error:Memory - ooIsVideoDataTypeH263Supported - " 
> 
>                      "epCap/params. (%s, %s)\n", call->callType, 
> 
>                      call->callToken); 
> 
>          return NULL; 
> 
>       } 
> 
>       epCap->params = params; 
> 
>   
> 
> but if epCap is NULL epCap->params can crash. 
> 
>   
> 
> Regards, 
> 
> Emanuele 
> 
>   
> 
>   
> 
>   
> 
>   
>

>
HS^隊X'u(j̋{2(+jب+kjנb"^Z0Flڊm~jZ؜"+bmƬƧvj+xgzbwv z۩)y_jalgri؝;eȝ^j)b
Vishal Phirke | 29 Jun 2005 00:05
Picon

ooh323c 0.7.1 Released

Hi All,
Release 0.7.1 of ooh323c is now available.

Release 0.7.1  
This release contains bug fixes as a result of interop testing against
some cisco devices.

You can download it from http://www.obj-sys.com/open or
http://sourceforge.net/project/showfiles.php?group_id=121413

Regards,
Vishal Phirke

-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_idt77&alloc_id492&op=click
Alan.Bunjevac | 30 Jun 2005 12:30
Picon

T.38 support


Hi guys,

is there a plan to add T.38 support to ooh323c stack?

If not, what are the basic steps in implementing such a module under ooh323c?
One or two hints or pointers would be apprecited.

My intention is not to send or receive faxes but to route them from one endpoint to another through ooh323c proxy.

Thanks,
Alan
Vishal Phirke | 30 Jun 2005 16:17
Picon

Re: T.38 support

Hi Alan,
What exactly do you want to do. If you want ooh323c stack to behave as
a T.38 pass through, i.e., no need to decode received T.38 messages,
just send them forward as they are, then you need to add T.38
capability support and Capability to open T.38 channels.
However, if you want to decode T.38 messages, you will need T.38
encode/decode logic as well.
-Vishal

On 6/30/05, Alan.Bunjevac <at> sedamit.hr <Alan.Bunjevac <at> sedamit.hr> wrote:
>  
> Hi guys, 
>  
> is there a plan to add T.38 support to ooh323c stack? 
>  
> If not, what are the basic steps in implementing such a module under
> ooh323c? 
> One or two hints or pointers would be apprecited. 
>  
> My intention is not to send or receive faxes but to route them from one
> endpoint to another through ooh323c proxy. 
>  
> Thanks, 
> Alan 
>

-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_idt77&alloc_id492&op=click

Gmane