|
|
|
@ -140,9 +140,11 @@ static str *call_update_lookup_udp(char **out, struct callmaster *m, enum call_o |
|
|
|
return str_sprintf("%s 0 " IPF "\n", out[RE_UDP_COOKIE], IPP(m->conf.ipv4)); |
|
|
|
} |
|
|
|
monologue = call_get_mono_dialogue(c, &fromtag, &totag); |
|
|
|
if (!monologue) |
|
|
|
goto ml_fail; |
|
|
|
|
|
|
|
if (addr_parse_udp(&sp, out)) |
|
|
|
goto fail; |
|
|
|
goto addr_fail; |
|
|
|
|
|
|
|
g_queue_push_tail(&q, &sp); |
|
|
|
/* XXX return value */ |
|
|
|
@ -157,9 +159,17 @@ static str *call_update_lookup_udp(char **out, struct callmaster *m, enum call_o |
|
|
|
ilog(LOG_INFO, "Returning to SIP proxy: "STR_FORMAT"", STR_FMT(ret)); |
|
|
|
goto out; |
|
|
|
|
|
|
|
fail: |
|
|
|
ml_fail: |
|
|
|
rwlock_unlock_w(&c->master_lock); |
|
|
|
ilog(LOG_WARNING, "Invalid dialogue association"); |
|
|
|
goto fail_out; |
|
|
|
|
|
|
|
addr_fail: |
|
|
|
rwlock_unlock_w(&c->master_lock); |
|
|
|
ilog(LOG_WARNING, "Failed to parse a media stream: %s/%s:%s", out[RE_UDP_UL_ADDR4], out[RE_UDP_UL_ADDR6], out[RE_UDP_UL_PORT]); |
|
|
|
goto fail_out; |
|
|
|
|
|
|
|
fail_out: |
|
|
|
ret = str_sprintf("%s E8\n", out[RE_UDP_COOKIE]); |
|
|
|
out: |
|
|
|
obj_put(c); |
|
|
|
@ -269,6 +279,10 @@ static str *call_request_lookup_tcp(char **out, struct callmaster *m, enum call_ |
|
|
|
} |
|
|
|
|
|
|
|
monologue = call_get_mono_dialogue(c, &fromtag, &totag); |
|
|
|
if (!monologue) { |
|
|
|
ilog(LOG_WARNING, "Invalid dialogue association"); |
|
|
|
goto out2; |
|
|
|
} |
|
|
|
/* XXX return value */ |
|
|
|
monologue_offer_answer(monologue, &s, NULL); |
|
|
|
|
|
|
|
@ -549,6 +563,9 @@ static const char *call_offer_answer_ng(bencode_item_t *input, struct callmaster |
|
|
|
call_bencode_hold_ref(call, output); |
|
|
|
|
|
|
|
monologue = call_get_mono_dialogue(call, &fromtag, &totag); |
|
|
|
errstr = "Invalid dialogue association"; |
|
|
|
if (!monologue) |
|
|
|
goto out; |
|
|
|
|
|
|
|
chopper = sdp_chopper_new(&sdp); |
|
|
|
bencode_buffer_destroy_add(output->buffer, (free_func_t) sdp_chopper_destroy, chopper); |
|
|
|
|