[h323plus] H323EndPoint::ParsePartyName issue
Iurii Gordiienko
hordi at ukr.net
Fri Jan 15 10:08:11 EST 2016
Hi,
I'm working with ForwardCall functional and have found a bug if we have forward URL which contains PORT number. For example, for h323:@192.168.1.1:1726 input string H323EndPoint::ParsePartyName will make address string like ip$192.168.1.1:1726:1726.
The fix is trivial (may be I've not covered all cases):
// get the various parts of the name PString hostOnly = PString(); PINDEX userPos = remoteParty.Find('@'); if (userPos != P_MAX_INDEX) { if (gatekeeper != NULL) alias = url.AsString(); else { alias = remoteParty.Left(userPos); PINDEX portPos = remoteParty.FindLast(':', portPos + 1); PINDEX len = (portPos != P_MAX_INDEX) ? (portPos - userPos - 1) : P_MAX_INDEX; hostOnly = remoteParty.Mid(userPos+1, len); } } else { alias = url.GetUserName(); hostOnly = url.GetHostName(); } address = hostOnly;
Also we have similar issue for input string without '@' character. In this case PTLIB::PURL class wrong parse the string (uses 192.168.1.1:1726:1726 as USER).
To fix this issue we need look PTLIB::PURL class futher.
Thanks -- Iurii Gordiienko
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.packetizer.com/pipermail/h323plus/attachments/20160115/ac3b6385/attachment-0002.html>
More information about the h323plus
mailing list