Thanks Simon and all,
I've tested the simpleplus app and it seems to function well except for one thing. When I have my RTP ports set to 10000 - 11000, when I make a call, the upnp only maps to 55000 - 55003 both internal and external ports. Therefore i'm not able to receive any audio or video because 55000 - 55003 are not the ports that i configured. In h323rtp.cxx i noticed a call;
WORD firstPort = endpoint.GetRtpIpPortPair(); etc.. then a call to open the ports;
while (!rtp.Open(localAddress, nextPort, nextPort, endpoint.GetRtpIpTypeofService(), conn, #ifdef P_STUN meth, #else NULL, #endif rtpQos))
which should retrieve the ports that i had set (between 10000 - 11000) but this doesn't seem to work accordingly and uses different local ports (55000 +).
Any ideas why this could be the case?
Thanks for all your help.
Josh
On Sun, Feb 5, 2012 at 10:42 AM, Simon Horne s.horne@packetizer.com wrote:
Josh****
I have checked in fixes to ensure both UPnP test Mapping are deleted and also removed a double delete that was causing a segfault at shutdown. I also added UPnP support to simple. ****
You should see this in the tracelog when UPnP creates the maps for RTP/RTCP ports****
2012/02/06 01:34:43.080 4 upnpcp.cxx(480) UPnP Created map UDP 192.168.1.3:55000 to a.b.c.d:55000****
2012/02/06 01:34:43.122 4 upnpcp.cxx(480) UPnP Created map UDP 192.168.1.3:55001 to a.b.c.d:55001****
2012/02/06 01:34:43.122 3 upnpcp.cxx(1186) UPnP UDP mapped ports 192.168.1.3 55000-55001 to a.b.c.d 55000-55001****
2012/02/06 01:34:43.122 4 h323.cxx(2579) H323 RTP NAT Connection Callback! Session: 1*
2012/02/06 01:34:43.122 4 rtp.cxx(1482) RTP NAT Method UPnP created NAT ports 55000 55001****
Simon****
*From:* h323plus-bounces@lists.packetizer.com [mailto: h323plus-bounces@lists.packetizer.com] *On Behalf Of *J.C Mercier *Sent:* 05 February 2012 08:47 *To:* h323plus@lists.packetizer.com *Subject:* [h323plus] Minor issues with upnp****
Hi all,
If i may first note, I've compiled the latest h323plus with no problem, but when i go to compile the simpleplus program, it gives an unresolved error for H46019UDPSocket::GetPeerAddress(...). This happens because H323_H46024A and H323_H46024B are disabled and GetPeerAddress is defined within H323_H46024A but declared within H323_H46019M. I did a minor work around and it now compiles fine.
Another issue I came upon, when I initialize UPNP during the h323 initialization, during the UPnPThread::TestMapping() function call, it manages to map both ports (11000 and 11001) but after calling RemoveMap(extPort,true); and RemoveMap(extPort+1,true), only 11001 is removed and not 11000. I tested this with different port range and it produces the same results (one unmapped and not the other). Is this supposed to be the case or is something wrong somewhere?
Although, after closing the program, both ports are unmapped successfully. But another problem that happens every time I close the program is a memory access violation at;
~IxNATNumberOfEntriesCallback() { delete m_pointer; } from
interface IxNATNumberOfEntriesCallback : public INATNumberOfEntriesCallback
Any reason why this could be the case?
Lastly, when upnp is initialized, making a call doesn't seem to open and map the ports at all. What else should be done aside from initializing upnp?
Your help and suggestions will be greatly appreciated.
Thanks
Josh ****