Hi,
I've modified telephony/pjsua to make it work with sndio instead of ossaudio,
using pa_sndio.c by ratchov@ (pjsua holds a "private" portaudio tree under
${WRKSRC}/third_party/portaudio).
It works for me on i386.
I've also tried to port the latest version of pjsua (1.0.1) without success.
Don't know why, it fails in parsing the local sip URI:
13:20:44.573 sip_endpoint.c Module "mod-pjsua-log" registered
13:20:44.574 sip_endpoint.c Module "mod-tsx-layer" registered
13:20:44.574 sip_endpoint.c Module "mod-stateful-util" registered
13:20:44.574 sip_endpoint.c Module "mod-ua" registered
13:20:44.574 sip_endpoint.c Module "mod-100rel" registered
13:20:44.574 sip_endpoint.c Module "mod-pjsua" registered
13:20:44.575 sip_endpoint.c Module "mod-invite" registered
13:20:44.616 pasound.c PortAudio sound library initialized, status=0
13:20:44.616 pasound.c PortAudio host api count=1
13:20:44.616 pasound.c Sound device count=1
13:20:44.617 pjlib select() I/O Queue created (0x7d718814)
13:20:44.620 conference.c Creating conference bridge with 254 ports
13:20:44.620 conference.c Sound device successfully created for port 0
13:20:44.620 sip_endpoint.c Module "mod-evsub" registered
13:20:44.621 sip_endpoint.c Module "mod-presence" registered
13:20:44.621 evsub.c Event pkg "presence" registered by mod-presence
13:20:44.621 sip_endpoint.c Module "mod-refer" registered
13:20:44.621 evsub.c Event pkg "refer" registered by mod-refer
13:20:44.621 sip_endpoint.c Module "mod-pjsua-pres" registered
13:20:44.621 sip_endpoint.c Module "mod-pjsua-im" registered
13:20:44.621 sip_endpoint.c Module "mod-pjsua-options" registered
13:20:44.621 pjsua_core.c 1 SIP worker threads created
13:20:44.621 pjsua_core.c pjsua version 1.0.1 for openbsd initialized
13:20:44.623 pjsua_core.c SIP UDP socket reachable at :5060
13:20:44.623 udp0x83bc2600 SIP UDP transport started, published address is
:5060
13:20:44.623 pjsua_acc.c Invalid local URI: Invalid URI
(PJSIP_EINVALIDURI) [status=171039]
13:20:44.623 pjsua_acc.c Error adding account: Invalid URI
(PJSIP_EINVALIDURI) [status=171039]
13:20:44.624 tcplis:5060 SIP TCP listener ready for incoming connections
at :5060
13:20:44.624 pjsua_acc.c Invalid local URI: Invalid URI
(PJSIP_EINVALIDURI) [status=171039]
13:20:44.624 pjsua_acc.c Error adding account: Invalid URI
(PJSIP_EINVALIDURI) [status=171039]
13:20:44.624 pjsua_acc.c Account sip:[email protected] added with id 0
13:20:44.625 sip_reg.c Invalid Contact URI: "<sip:da.cop@:5060>"
13:20:44.625 pjsua_acc.c Client registration initialization error: Invalid
URI (PJSIP_EINVALIDURI) [status=171039]
13:20:44.625 pjsua_acc.c Unable to create registration: Invalid URI
(PJSIP_EINVALIDURI) [status=171039]
The correct contact uri should be [email protected], but pjsip_parse_uri() in
pjsip/src/pjsua-lib/pjsua_acc.c always returns NULL:
name_addr = (pjsip_name_addr*)
pjsip_parse_uri(acc->pool, acc_cfg->id.ptr,
acc_cfg->id.slen,
PJSIP_PARSE_URI_AS_NAMEADDR);
if (name_addr == NULL) {
pjsua_perror(THIS_FILE, "Invalid local URI",
PJSIP_EINVALIDURI);
return PJSIP_EINVALIDURI;
}
If somebody with more robust programming skills than me could look at this,
it would be great.
You can fetch both ports from:
http://62.94.26.180/pjsua.tar.gz
http://62.94.26.180/pjsua-1.0.1.tar.gz
Best Regards,
David