Hi Response is awaited
Thanks & Regards Chandra Bhan Singh Mobile No:- 09999909109 On Mon, 26 Jan, 2026, 19:53 Chandra Bhan, <[email protected]> wrote: > Hi M S, > Thank you so much for your quick response. > I should mention that I don’t have deep expertise in Kamailio. I’ve been > doing a lot of browsing and research (including ChatGPT), and based on that > I found a few possible approaches to make outbound calls directly from > Kamailio using a SIP trunk. > Some of the methods I came across are: > > - uac_send_request > - app_lua > - jsonrpc_exec > > My goal is to originate outbound calls directly from Kamailio (without > Asterisk) toward a GSM/SIP gateway. I’m not fully sure which approach is > the most appropriate or recommended in a production setup. > I would really appreciate your guidance on the correct and supported way > to achieve this. > Thanks again for your time and support. > For your reference I am sharing some sample code of two method > > 1st method > > event_route[xhttp:request] { > > if ($hu =~ "^/obd") { > > $avp(msisdn) = $(hu{param.value,msisdn}); > > if ($avp(msisdn) == $null) { > xhttp_reply("400", "Bad Request", "text/plain", > "Missing msisdn\n"); > exit; > } > > # Destination URI for the call > $var(dst_uri) = "sip:" + $avp(msisdn) + "@182.77.59.145:5060"; > > # From URI (mandatory) > $var(from_uri) = "sip:[email protected]"; > > xlog("L_INFO", "Calling GSM number: $var(dst_uri)\n"); > > # Send INVITE using UAC > uac_req_send( > "INVITE", > $var(dst_uri), > $var(from_uri), > "", > "" > ); > > xhttp_reply("200", "OK", "text/plain", > "Call initiated\n"); > exit; > } > > xhttp_reply("404", "Not Found", "text/plain", "Not Found\n"); > exit; > } > > 2nd method . > > event_route[xhttp:request] { > if ($hu !~ "^/obd/") { > xhttp_reply("404", "Not Found", "", ""); > exit; > } > > $var(uri) = $hu; > $var(callee) = $(var(uri){s.select,3,/}); > > if ($var(callee) == "") { > xhttp_reply("400", "Missing MSISDN", "", ""); > exit; > } > > xlog("L_INFO", "OBD HTTP caller=9999909109 callee=$var(callee)\n"); > > $var(json) = "{\"jsonrpc\":\"2.0\",\"method\":\"dialog.bridge_dlg\"," > "\"params\":[\"sip:[email protected]\"," > "\"sip:$var(callee)@182.77.59.145\"],\"id\":1}"; > > jsonrpc_exec($var(json)); > xhttp_reply("200", "OK", "", "OBD triggered\n"); > exit; > } > > Regards > Chandra Bhan Kumar > ------------------------------ > *From:* M S <[email protected]> > *Sent:* Monday, January 26, 2026 7:30 PM > *To:* Kamailio (SER) - Development Mailing List <[email protected] > > > *Cc:* Daniel-Constantin Mierla <[email protected]>; Chandra Bhan < > [email protected]> > *Subject:* Re: [sr-dev] OBD Based Missed Call issue > > Kamailio is NOT a media endpoint nor a media gateway. It is a SIP proxy > that routes call between two endpoints, gateways or proxies. What you seems > to do is trying to originate a call from Kamailio to some provider, which > will simply not work. > > For Outbound Dialer service you need to setup some media gateway like > Asterisk, Freeswitch or CUCM (Cisco Unified Media Gateway) etc. > > Regards. > > -- > Muhammad Shahzad Shafi. > Tel: +49 176 99 83 10 85 > > On Mon, 26 Jan 2026, 13:45 Chandra Bhan via sr-dev, < > [email protected]> wrote: > > Hi Daniel > > I hope you are doing well. Looking for your support on kamailio. > > I am a new for kamailio. I want to build setup OBD Based Missed Call > Solution > > > 1. I able to send http request on kamailio but call not getting dial > due to some reason > > Here is my code. Could you help me to resolve the issue. > > #!KAMAILIO > > ####### Global Parameters ######### > > debug=3 > log_stderror=yes > memdbg=5 > memlog=5 > children=8 > > tcp_accept_no_cl=yes > auto_aliases=no > > listen=udp:172.26.12.138:5060 > listen=tcp:0.0.0.0:8080 > > alias=your.public.ip # optional > > ####### Modules Section ######## > > loadmodule "sl.so" > loadmodule "tm.so" > loadmodule "tmx.so" > loadmodule "rr.so" > loadmodule "pv.so" > loadmodule "xlog.so" > loadmodule "textops.so" > loadmodule "maxfwd.so" > loadmodule "sanity.so" > loadmodule "siputils.so" > loadmodule "xhttp.so" > loadmodule "uac.so" > > ####### Module Parameters ######## > > # --- TM > modparam("tm", "fr_timer", 5000) > modparam("tm", "fr_inv_timer", 30000) > > # --- RR > modparam("rr", "enable_double_rr", 1) > modparam("rr", "append_fromtag", 1) > > # --- UAC (authentication profile) > # format: > # name => sip:proxy, username, password > modparam("uac", "uac_reg", > "obd => sip:GSM-Gateway-IP:5060,2555,123456" > ) > > ####### Routing Logic ######## > > request_route { > > # Sanity checks > if (!sanity_check("1511", "7")) { > xlog("L_ERR", "Sanity failed\n"); > drop; > } > > if (!mf_process_maxfwd_header("10")) { > sl_send_reply("483", "Too Many Hops"); > exit; > } > > # Handle HTTP requests > if ($Rp == 8080 && $rm == "GET") { > route(HTTP); > exit; > } > > # SIP requests (only outbound calls expected) > if (is_method("INVITE")) { > record_route(); > t_relay(); > exit; > } > > if (is_method("ACK|BYE|CANCEL")) { > t_relay(); > exit; > } > > sl_send_reply("404", "Not Here"); > exit; > } > > ####### HTTP ROUTE ######## > > route[HTTP] { > > if ($hu =~ "^/call") { > > # Example: > # http://IP:8080/call?msisdn=9999909109 > > $var(msisdn) = $param(msisdn); > > if ($var(msisdn) == "") { > xhttp_reply("400", "text/plain", "Missing msisdn\n"); > exit; > } > > xlog("L_INFO", "HTTP Call request for $var(msisdn)\n"); > > route(OBD_CALL); > xhttp_reply("200", "text/plain", "Call initiated\n"); > exit; > } > > xhttp_reply("404", "text/plain", "Invalid URL\n"); > exit; > } > > ####### OUTBOUND CALL ROUTE ######## > > route[OBD_CALL] { > > $var(dst_uri) = "sip:" + $var(msisdn) + "@GSM-Gateway-IP:5060"; > > xlog("L_INFO", "Calling $var(dst_uri)\n"); > > uac_req_send( > "INVITE", > $var(dst_uri), > "sip:[email protected]", > "sip:" + $var(msisdn) + "@your.domain", > "", > "obd" > ); > > exit; > } > > > _______________________________________________ > Kamailio - Development Mailing List -- [email protected] > To unsubscribe send an email to [email protected] > Important: keep the mailing list in the recipients, do not reply only to > the sender! > >
_______________________________________________ Kamailio - Development Mailing List -- [email protected] To unsubscribe send an email to [email protected] Important: keep the mailing list in the recipients, do not reply only to the sender!
