I have discovered a bug in the 1.11 RTPProxy Module when using IPv6 addressing.
When the command to RTPProxy is discovered to contain an IPv6 address in 
"rtpproxy.c" function:

"int force_rtp_proxy_body(struct sip_msg* msg, struct force_rtpp_args *args, 
pv_spec_p var)"

The option "6" is appended to the options being passed to RTP Proxy, however 
the length component within the I/O vector is not increased.
Therefore the option is not detected by the RTPProxy process and the IPv6 is 
not preloaded which can result in an RTP Proxy deadlock.

@Line 3725 (rtpproxy.c)

            /* XXX must compare address families in all addresses */
            if (pf == AF_INET6) {
                if (append_opts(&opts, '6') == -1) {
                    LM_ERR("out of pkg memory\n");
                    goto error;
                }
==>         //DAVES - Accommodate new opts length
==>         v[1].iov_len++;
            }

I have currently added the above change to my opensips source code in order to 
work past this problem.

Regards.

Dave
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to