diff --git a/pjlib-util/src/pjlib-util/resolver.c b/pjlib-util/src/pjlib-util/resolver.c index f2578e484..a2a12fec3 100644 --- a/pjlib-util/src/pjlib-util/resolver.c +++ b/pjlib-util/src/pjlib-util/resolver.c @@ -290,6 +290,11 @@ PJ_DEF(pj_status_t) pj_dns_resolver_create( pj_pool_factory *pf, if (status != PJ_SUCCESS) goto on_error; + /* Bind to any address/port */ + status = pj_sock_bind_in(resv->udp_sock, 0, 0); + if (status != PJ_SUCCESS) + goto on_error; + /* Register to ioqueue */ pj_bzero(&socket_cb, sizeof(socket_cb)); socket_cb.on_read_complete = &on_read_complete; diff --git a/pjsip/src/pjsua-lib/pjsua_core.c b/pjsip/src/pjsua-lib/pjsua_core.c index 7452343c0..9d88225cf 100644 --- a/pjsip/src/pjsua-lib/pjsua_core.c +++ b/pjsip/src/pjsua-lib/pjsua_core.c @@ -488,7 +488,10 @@ PJ_DEF(pj_status_t) pjsua_init( const pjsua_config *ua_cfg, /* Create DNS resolver */ status = pjsip_endpt_create_resolver(pjsua_var.endpt, &pjsua_var.resolver); - PJ_ASSERT_RETURN(status == PJ_SUCCESS, status); + if (status != PJ_SUCCESS) { + pjsua_perror(THIS_FILE, "Error creating resolver", status); + return status; + } /* Configure nameserver for the DNS resolver */ status = pj_dns_resolver_set_ns(pjsua_var.resolver,