< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index  

Re: [reSIProcate] rendIt on osx


Hi Jason,

Welcome back from the dead!  : )

RendIt was contributed by Logitech.  It was used solely in a unix environment.  When I added the code the SVN for them, I got things to build in Windows as well.  I think it's safe to say that it hasn't been tested under OS/X yet.  I think you are on the right track with using "fdset" (also used under Windows) - but I can't explain why you are having trouble binding to port 5060 - other than it is potentially in use on your machine (I'm also assuming that the IP printed in the logs is correct: 192.168.0.129).  Is it also binding to the same interface using IPV6?

As for "event" - the intention was to have the code pick the best method based on the compiler options and OS: this means "epoll" for OS's that support it and FdSet for those that do not.  Here are some docs from testStack.cxx:

    event       Each stack runs in its own thread, and that thread
                is an interruptable event-loop based thread. The specific
                type of event-loop depends upon the underlying platform
                and how you compiled the stack.

    epoll       Like "event", but specifically uses the epoll implmentation.

    fdset       Like "event", but specifically uses the FdSet/select
                implmentation.

Scott


On Wed, Aug 28, 2013 at 6:45 PM, Jason Fischl <jason.fischl@xxxxxxxxx> wrote:
Hey guys (I'm back from the dead),

I'm trying to get rendIt working on osx. I'm running into problems
with what I think is the code related to epoll - which is not
available on OSX. rendIt has likely only been tested on linux in the
past.

RendRunner.cxx is instantiating a resip::EventStackSimpleMgr with
implName = "epoll". I thought that I could work around this issue by
changing implName to "fdset". However, when I do this, here's what I
see when the sip stack tries to bind to the UDP port on 5060.

DEBUG | 20130828-153716.954 | rend | RESIP:TRANSPORT | 0x7fff773d9180
| InternalTransport.cxx:115 | Creating fd=12 V4/UDP
DEBUG | 20130828-153716.954 | rend | RESIP:TRANSPORT | 0x7fff773d9180
| InternalTransport.cxx:123 | Binding to 192.168.0.129
INFO | 20130828-153716.954 | rend | RESIP:TRANSPORT | 0x7fff773d9180 |
Transport.cxx:199 | Some other error (49): Can't assign requested
address
ERR | 20130828-153716.954 | rend | RESIP:TRANSPORT | 0x7fff773d9180 |
InternalTransport.cxx:137 | Could not bind to [ V4 192.168.0.129:5060
UDP target domain=unspecified mFlowKey=12 ]
DEBUG | 20130828-153716.954 | rend | RESIP | 0x7fff773d9180 |
BaseException.cxx:21 | BaseException at InternalTransport.cxx:138
Could not use port
ERR | 20130828-153716.956 | rend | RESIP | 0x7fff773d9180 |
SipStack.cxx:425 | Failed to create transport: V4 UDP 5060 on
192.168.0.129: TransportException Could not use port @
InternalTransport.cxx:138


Any ideas what is going on here?

Also, what is the implname = "event" supposed to mean? Is this
unsupported? It looked to me like maybe it was intended to support
libevent on other platforms but I can't find code referring to it
anywhere.

Thanks
Jason
_______________________________________________
resiprocate-devel mailing list
resiprocate-devel@xxxxxxxxxxxxxxx
https://list.resiprocate.org/mailman/listinfo/resiprocate-devel