Hi David,
I never tried golang and have no knowledge on
it.
I wrote many wrapper to other language and 95%
of eXosip2 APIs are pretty straight forward because they only
only have integer and string as parameters.
The only API where complexity is coming is
eXosip_event_wait which returns a structure with pointers on
osip message in it. Those pointers are also structure to many
pointers and list.
I usually implement a few additional C method to
get most common sip headers or elements from sip headers or
the SDP. This is usually enough because the developer usually
don't need the flexibility to access everything from the
message.
Regards
Aymeric
I am
curious if anyone has tried adapting osip2/eXosip2 for use
with golang?
I never could find a non-proprietary pure golang sip stack
that was ever
completed, or even actively worked on, in years. There are
proprietary
go sip products and stacks, so clearly it is possible to
make one, but
that is a lot of work to do from scratch, and the
community already has
this excellent working code base.
As to why go vs C/C++, go could be nicer for simpler
things for the
upper layer code, where you don't need to be performance
critical, and
may want code simplicity and safety where your new code is
at, and to
leverage other parts of the go ecosystem. There is some
simple ability
to embed C code and headers, and call C functions directly
into go when
building with cgo (or gccgo), so it seem at least
theoretically possible
to consider this.