[h323plus] Transfer call

Jan Willamowius jan at willamowius.de
Sun Nov 14 12:59:05 EST 2010


Hi,

ForwardCall() sends a Facility message with reason callForwarded.
The H.323 standard only requires that this works for forward calls in
Alerting state. Many devices support this also for calls in connected
state, but I don't think Tandberg does.

Also, be careful with the meaning of the return value of ForwadCall().
It only means that the message was sent out, not that the other side
supports it and will forward the call.
You could start a timer and see if the call is still not terminated by
the remote side a few seconds later. Thats about the only check I can
think of.

GnuGk has an experimental feature since 2.3.3 that implements
gatekeeper side call transfers, where the gatekeeper initiates a new
call to the transfer destination and switches over the media
connections. You can enable the H.450.2 emulator and set the transfer
method to "reroute". Then GnuGk will intercept H.450.2 requests from
the client and initiates the gatekeeper side transfer.

Regards,
Jan


Igor Pavlov wrote:
> Hi Simon,
> 
> How can I determine that TransferCall failed?
> ForwardCall() in contrast to TransferCall() returns boolean value...
> 
> I tried ForwardCall() instead of TransferCall() and got following:
> 1. When I do ForwardCall() for remote client which is my h323plus based
> appilcation - remote client doesn't react.
> 2. When I do ForwardCall() for remote client which is Tandberg T-1000 than
> in new connection only channels _to_ this client are opened, but not _from_
> this client.
> 
> Igor
> 
> 11 ноября 2010 г. 14:30 пользователь Simon Horne
> <s.horne at packetizer.com>написал:
> 
> >
> > You can also try
> > H323Connection::ForwardCall()
> > This is more widely supported.
> >
> > You can use it with TransferCall. If TransferCall fails then try
> > ForwardCall. But again that is not going to guarantee the transfer actually
> > will occur.
> >
> > Simon
> >
> >
> >
> > -----Original Message-----
> > From: h323plus-bounces at lists.packetizer.com
> > [mailto:h323plus-bounces at lists.packetizer.com] On Behalf Of Jan
> > Willamowius
> > Sent: Thursday, November 11, 2010 7:18 PM
> > To: h323plus at lists.packetizer.com
> > Subject: Re: [h323plus] Transfer call
> >
> > With the original definition, I don't think there is a way to know
> > beforehand. You can try it and see if you get a response back.
> > From what I understand H.450.12 is supposed to solve this, but I haven't
> > seen it in action anywhere, yet.
> >
> > The Mirial softphone supports H.450.2 and I've seen a few IP hardphones
> > that
> > do, but H.450 in general is not very widely implemented.
> >
> > Its a shame that not even those expensive videoconferencing units can do a
> > proper call transfer like any $10 traditional phone can...
> >
> > Regards,
> > Jan
> >
> > Igor Pavlov wrote:
> > > Thanks for answer, Jan,
> > >
> > > How can I understand in my program if remote client support H.450.2?
> > > Some capabilities? Or something else?
> > >
> > > Is there some h323 clients not based on h323plus wich supports H.450.2 ?
> > >
> > > Regards,
> > > Igor
> > >
> > > 2010/11/11 Jan Willamowius <jan at willamowius.de>
> > >
> > > > Hi Igor,
> > > >
> > > > most of the time Wireshark is right. ;-)
> > > >
> > > > Tandberg doesn't support H.450.2 call transfers, regardless if the
> > > > H323Plus packet is correct or not in this case.
> > > >
> > > > Regards,
> > > > Jan
> > > >
> > > > Igor Pavlov wrote:
> > > > > Hi,
> > > > >
> > > > > I am using H323Connection::TransferCall() and capture network
> > > > > packets with Wireshark, so when transfering the call
> > > > in
> > > > > wireshark I see Malformed Packet ( CS : empty [Malformed Packet] )
> > > > > The problem in these strings (in h450pdu.cxx in function
> > > > > H450ServiceAPDU::BuildCallTransferInitiate())
> > > > >    invoke.IncludeOptionalField(X880_Invoke::e_argument);
> > > > >    invoke.m_argument.EncodeSubType(argument);
> > > > > If I comment these strings then I see just CS : Empty. And of
> > > > > course have
> > > > no
> > > > > transfer of call.
> > > > >
> > > > > I have some questions :
> > > > > 1. Who is wrong ? h323plus or Wireshark 2. How do deternine if
> > > > > remote h323 client support transfering call ?
> > > > > Because I have Tandberg T-1000 wich is not reacting on my transfer
> > > > > call response, maybe because of malformed packet or because it
> > > > > does not
> > > > support
> > > > > it at all
> > > > >
> > > > > Thank you,
> > > > > Igor Pavlov.
> > > >
> > > >
> > > > --
> > > > Jan Willamowius, jan at willamowius.de, http://www.gnugk.org/
> > > >
> > >
> > >
> > >
> > > --
> > > Игорь Павлов
> >
> >
> > --
> > Jan Willamowius, jan at willamowius.de, http://www.gnugk.org/
> >
> >
> 
> 
> -- 
> Игорь Павлов


-- 
Jan Willamowius, jan at willamowius.de, http://www.gnugk.org/



More information about the h323plus mailing list