[h323plus] H.pres status
Mark Stripes
mark.stripes at gmail.com
Mon Feb 25 10:40:23 EST 2008
Simon,
Thanks for the impressively quick turnaround - and for revealing an
edge of C++ that I hadn't stumbled on before: "not" as a reserved
keyword!
On Thu, Feb 21, 2008 at 12:32 AM, Simon Horne <s.horne at packetizer.com> wrote:
>
> NOTE: H.460.presence is still very much *in development*. The code has been
> slightly modified from AVD-3293 after some consultation and the h323plus
> implementation will be resubmitted at the next ITU meeting.
Caveat noted.
I can confirm that updating to CVS head and adding h460p(res).(h|cxx)
to the linux Makefile results in successful compilation and linking.
I'm a little stuck, though, when it comes to modifying simple_h323
application to play with the concepts as the p[wt]lib stuff is all new
to me and doesn't seem to behave the way I thought it would. Do you
have available a concrete example of an H.460 extension external to
the core h323plus library being added as a feature by an application
and then being used?
I'm grounding my investigation on Simple 1.20.0 and using the pattern
evident from your previous submission to the opal effort (the only
place that I could find relevant documentation). In
SimpleH323Process::Initialise, having invoked LoadBaseFeatureSet(), I
then create an instance of H460_FeatureOID3 and attach the
SimpleH323EndPoint instance thus:
BOOL SimpleH323Process::Initialise(PArgList & args)
{
...
// Load the base featureSet
LoadBaseFeatureSet();
// mstr
PresenceEnable(2, "WELL_KNOWN_STRING");
H460_FeatureOID3 * presenceFeature = new H460_FeatureOID3;
presenceFeature->AttachEndPoint(this);
features.LoadFeatureSet(H460_Feature::FeatureBase);
features.AddFeature(presenceFeature);
features.AttachEndPoint(this); // seemingly redundant
...
}
The debug trace shows that an instance is created and that the new
feature is loaded, but when the Available Features are dumped as trace
there is nothing shown and, more importantly, when RAS tries to RRQ my
GK, the FeatureSet created is empty.
0:00.005 StripesPres Version 1.20.0 by H323Plus on
Unix Linux (2.6.22-14-generic-i686) at 2008/2/25 15:14:30.355
0:00.006 StripesPres PWLib File handle high water mark
set: 6 Thread unblock pipe
0:00.006 StripesPres PWLib Created thread 0x807b120 H323 Cleaner
0:00.006 StripesPres PWLib Thread high water mark set: 2
0:00.006 StripesPres H323 Created endpoint.
0:00.006 StripesPres H460 Endpoint Attached
0:00.006 StripesPres mstr PresenceEnable
0:00.007 StripesPres OID3 Instance Created
0:00.007 StripesPres OID3 Presence Handler created!
0:00.007 StripesPres OID3 Attaching Endpoint
0:00.007 StripesPres H460 Endpoint Attached
0:00.007 StripesPres H460 Loaded OID 1.3.6.1.4.1.17090.0.3
...
0:00.038 StripesPres Trans Making request: registrationRequest
0:00.038 StripesPres H460 Create FeatureSet Reg Request PDU
0:00.038 StripesPres H460 FeatureSet for Reg Request PDU
{
replacementFeatureSet = FALSE
}
It seems that despite adding an instance of my (well, OK, 'your')
H460_FeatureOID3 through H460_FeatureSet::AddFeature, when it comes to
processing H460_FeatureSet::Features, the presence implementation is
no longer there.
Now I'm not going to call for a code review ;-) but a pointer to an
extension example or some documentation about how extensions can be
built and used would be a wonderful help, particularly as I move
forward and consider h323plus as a component in my application.
Many thanks,
Mark.
--
"I don't care to belong to a club that accepts people like me as
members" - Groucho
More information about the h323plus
mailing list