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


Reply via email to