| 5097 | } |
| 5098 | |
| 5099 | static int rtpengine_api_answer(struct rtp_relay_session *sess, |
| 5100 | struct rtp_relay_server *server, str *body, |
| 5101 | str *ip, str *type, str *in_iface, str *out_iface, |
| 5102 | str *global_flags, str *flags, str *extra_flags) |
| 5103 | { |
| 5104 | struct rtpe_set* rset; |
| 5105 | str *newflags; |
| 5106 | int ret; |
| 5107 | |
| 5108 | RTPE_START_READ(); |
| 5109 | rset = select_rtpe_set(server->set); |
| 5110 | RTPE_STOP_READ(); |
| 5111 | |
| 5112 | newflags = rtpengine_get_call_flags(sess, type, in_iface, out_iface, |
| 5113 | global_flags, flags, extra_flags); |
| 5114 | if (!newflags) |
| 5115 | return -1; |
| 5116 | ret = rtpengine_offer_answer_body(sess->msg, newflags, &server->node, |
| 5117 | NULL, sess->body, body, rset, OP_ANSWER); |
| 5118 | pkg_free(newflags->s); |
| 5119 | return ret; |
| 5120 | } |
| 5121 | |
| 5122 | static int rtpengine_api_delete(struct rtp_relay_session *sess, struct rtp_relay_server *server, |
| 5123 | str *flags, str *extra) |
nothing calls this directly
no test coverage detected