static int request(struct sip_req *sr) { info("baresip.sipreq.request()\n"); return sip_drequestf(&sr->req, uag_sip(), true, sr->method, sr->dlg, 0, sr->auth, NULL, resp_handler, sr, sr->fmt ? "%s" : NULL, sr->fmt); }
static int info_request(struct sipsess_request *req) { return sip_drequestf(&req->req, req->sess->sip, true, "INFO", req->sess->dlg, 0, req->sess->auth, NULL, info_resp_handler, req, "Content-Type: %s\r\n" "Content-Length: %zu\r\n" "\r\n" "%b", req->ctype, mbuf_get_left(req->body), mbuf_buf(req->body), mbuf_get_left(req->body)); }
int sipsess_bye(struct sipsess *sess, bool reset_ls) { if (sess->req) return EPROTO; if (reset_ls) sip_loopstate_reset(&sess->ls); return sip_drequestf(&sess->req, sess->sip, true, "BYE", sess->dlg, 0, sess->auth, NULL, bye_resp_handler, sess, "Content-Length: 0\r\n" "\r\n"); }
static int request(struct sipreg *reg, bool reset_ls) { if (reg->terminated) reg->expires = 0; if (reset_ls) sip_loopstate_reset(®->ls); return sip_drequestf(®->req, reg->sip, true, "REGISTER", reg->dlg, 0, reg->auth, send_handler, response_handler, reg, "%s" "%b" "Content-Length: 0\r\n" "\r\n", reg->regid > 0 ? "Supported: outbound, path\r\n" : "", reg->hdrs ? mbuf_buf(reg->hdrs) : NULL, reg->hdrs ? mbuf_get_left(reg->hdrs) : 0); }
static int invite(struct sipsess *sess) { sess->sent_offer = sess->desc ? true : false; sess->modify_pending = false; return sip_drequestf(&sess->req, sess->sip, true, "INVITE", sess->dlg, 0, sess->auth, send_handler, invite_resp_handler, sess, "%b" "%s%s%s" "Content-Length: %zu\r\n" "\r\n" "%b", sess->hdrs ? mbuf_buf(sess->hdrs) : NULL, sess->hdrs ? mbuf_get_left(sess->hdrs) :(size_t)0, sess->desc ? "Content-Type: " : "", sess->desc ? sess->ctype : "", sess->desc ? "\r\n" : "", sess->desc ? mbuf_get_left(sess->desc) :(size_t)0, sess->desc ? mbuf_buf(sess->desc) : NULL, sess->desc ? mbuf_get_left(sess->desc):(size_t)0); }
static int notify_request(struct sipnot *not, bool reset_ls) { DEBUG_WARNING("re.sipevent.notify.notify_request()\n"); if (reset_ls) sip_loopstate_reset(¬->ls); if (not->terminated) not->termsent = true; not->notify_pending = false; return sip_drequestf(¬->req, not->sip, true, "NOTIFY", not->dlg, 0, not->auth, send_handler, response_handler, not, "Event: %H\r\n" "Subscription-State: %H\r\n" "%s" "%H", print_event, not, print_substate, not, not->hdrs, print_content, not); }