[SR-Users] Kamilio dispatcher not registering with asterisk

Mihai Cezar cezar at mokalife.ro
Mon Dec 7 16:22:57 CET 2020


HI sergio,

I just set allow_guest = yes. I don't know what to set on the asterisk, if
you can guide a little bit ...

On Mon, Dec 7, 2020 at 5:17 PM Sergio Charrua <sergio.charrua at voip.pt>
wrote:

> Hi !
>
> what is the "type" of your SIP Peer, on Asterisk? Friend, Peer or User?
> and what about the "insecure" setting?
>
> *Sérgio Charrua*
>
>
> *www.voip.pt <http://www.voip.pt/>*
> Tel.: +351  <callto:+351+91+104+12+66>21 130 71 77
>
> Email : *sergio.charrua at voip.pt <sergio.charrua at voip.pt>*
>
> This message and any files or documents attached are strictly confidential
> or otherwise legally protected.
>
> It is intended only for the individual or entity named. If you are not the
> named addressee or have received this email in error, please inform the
> sender immediately, delete it from your system and do not copy or disclose
> it or its contents or use it for any purpose. Please also note that
> transmission cannot be guaranteed to be secure or error-free.
>
>
>
>
>
>
>
>
> On Mon, Dec 7, 2020 at 3:09 PM Mihai <m at mokalife.ro> wrote:
>
>> Hi all,
>>
>> i have a problem with kamailio 5.3.x and asterisk 13, i basically forward
>> everything, but i cant manage to make it register.
>>
>> The register arrives on asterisk see the capture bellow:
>> Any help is much appreciated!
>> ----------------
>> REGISTER sip:oro.sips.nl;transport=UDP SIP/2.0
>> Via: SIP/2.0/UDP
>> 104.201.100.15;branch=z9hG4bK4d5e.997621d931a2ad9f6423e2ac7782a319.1
>> Via: SIP/2.0/UDP 34.12.55.102:34626
>> ;received=34.12.55.102;branch=z9hG4bK-524287-1---0a0bffd64bbd9941;rport=34626
>> Max-Forwards: 69
>> Contact: <sip:test-user1 at 34.12.55.102:34626
>> ;transport=UDP;rinstance=85c33e976be3dad1>
>> To: <sip:test-user1 at oro.sips.nl;transport=UDP>
>> From: <sip:test-user1 at oro.sips.nl;transport=UDP>;tag=6d8fd914
>> Call-ID: h6lkViFgxurpVRkw4Ly-GQ..
>> CSeq: 1 REGISTER
>> Expires: 60
>> Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, MESSAGE, OPTIONS, INFO,
>> SUBSCRIBE
>> User-Agent: Z 5.4.9 rv2.10.11.7
>> Allow-Events: presence, kpml, talk
>> Content-Length: 0
>> Path: <sip:104.201.100.15;lr;received=sip:34.12.55.102:34626>
>>
>> -------------------the config -------
>> # - flags
>> #   FLT_ - per transaction (message) flags
>> # FLB_ - per branch flags
>> #!define FLT_ACC 1
>> #!define FLT_ACCMISSED 2
>> #!define FLT_ACCFAILED 3
>>
>> #!define FLT_FS 10
>>
>> ####### Global Parameters #########
>>
>> debug=4
>> log_stderror=yes
>>
>> memdbg=5
>> memlog=5
>>
>> log_facility=LOG_LOCAL0
>>
>> fork=yes
>> children=4
>>
>> /* comment the next line to enable TCP */
>> disable_tcp=yes
>>
>> /* uncomment the next line to disable the auto discovery of local aliases
>>    based on revers DNS on IPs (default on) */
>> auto_aliases=no
>>
>> /* add local domain aliases */
>> # alias="mysipserver.com"
>>
>> port=5060
>>
>> /* uncomment and configure the following line if you want Kamailio to
>>    bind on a specific interface/port/proto (default bind on all
>> available) */
>> # listen=udp:127.0.0.1:5060
>>
>> sip_warning=no
>>
>> ####### Modules Section ########
>>
>> # set module path
>> #mpath="/usr/local/lib/kamailio/modules/"
>>
>> #loadmodule "db_mysql.so"
>> loadmodule "jsonrpcs.so"
>> loadmodule "kex.so"
>> loadmodule "corex.so"
>> loadmodule "tm.so"
>> loadmodule "tmx.so"
>> loadmodule "sl.so"
>> loadmodule "rr.so"
>> loadmodule "pv.so"
>> loadmodule "maxfwd.so"
>> loadmodule "textops.so"
>> loadmodule "siputils.so"
>> loadmodule "xlog.so"
>> loadmodule "sanity.so"
>> loadmodule "ctl.so"
>> loadmodule "acc.so"
>> loadmodule "dispatcher.so"
>> loadmodule "path.so"
>>
>> # ----------------- setting module-specific parameters ---------------
>>
>>
>> # ----- jsonrpcs params -----
>> modparam("jsonrpcs", "pretty_format", 1)
>>
>>
>> # ----- rr params -----
>> # add value to ;lr param to cope with most of the UAs
>> modparam("rr", "enable_full_lr", 1)
>> # do not append from tag to the RR (no need for this script)
>> modparam("rr", "append_fromtag", 0)
>>
>>
>> # ----- acc params -----
>> modparam("acc", "log_flag", FLT_ACC)
>> modparam("acc", "failed_transaction_flag", FLT_ACCFAILED)
>> modparam("acc", "log_extra",
>> "src_user=$fU;src_domain=$fd;dst_ouser=$tU;dst_user=$rU;dst_domain=$rd;src_ip=$si")
>>
>> # ----- tm params -----
>> modparam("tm", "fr_timer", 2000)
>> modparam("tm", "fr_inv_timer", 40000)
>>
>> # ----- dispatcher params -----
>> #modparam("dispatcher", "db_url", DBURL)
>> #modparam("dispatcher", "table_name", "dispatcher")
>> modparam("dispatcher", "list_file", "/etc/kamailio/dispatcher.list")
>> modparam("dispatcher", "flags", 2)
>> modparam("dispatcher", "xavp_dst", "_dsdst_")
>> modparam("dispatcher", "xavp_ctx", "_dsctx_")
>> modparam("dispatcher", "ds_ping_from", "sip:proxy at mykamailio")
>> modparam("dispatcher", "ds_ping_interval", 30)
>> modparam("dispatcher", "ds_probing_threshold", 10)
>> modparam("dispatcher", "ds_inactive_threshold", 5)
>> modparam("dispatcher", "ds_ping_reply_codes",
>> "class=2;code=403;code=488;class=3")
>> modparam("dispatcher", "ds_probing_mode", 1)
>>
>> modparam("path", "use_received", 1)
>>
>> ####### Routing Logic ########
>>
>>
>> # main request routing logic
>>
>> request_route {
>>
>> # per request initial checks
>> route(REQINIT);
>>
>>         if(ds_is_from_list()) {
>>        setflag(FLT_FS);
>>         }
>>
>> # CANCEL processing
>> if (is_method("CANCEL")) {
>> if (t_check_trans()) {
>> route(RELAY);
>> }
>> exit;
>> }
>>
>> # handle retransmissions
>> if (!is_method("ACK")) {
>> if(t_precheck_trans()) {
>> t_check_trans();
>> exit;
>> }
>> t_check_trans();
>> }
>>
>> # handle requests within SIP dialogs
>> route(WITHINDLG);
>>
>>         if (isflagset(FLT_FS)) {
>>                 route(FROM_FS);
>>                 exit;
>>         }
>>
>> ### only initial requests (no To tag)
>>
>> # record routing for dialog forming requests (in case they are routed)
>> # - remove preloaded route headers
>> remove_hf("Route");
>> if (is_method("INVITE|SUBSCRIBE")) {
>> record_route();
>> }
>>
>> # account only INVITEs
>> if (is_method("INVITE")) {
>> setflag(FLT_ACC); # do accounting
>> }
>>
>> # handle presence related requests
>> route(PRESENCE);
>>
>> # handle registrations
>> route(REGISTRAR);
>>
>> if ($rU==$null) {
>> # request with no Username in RURI
>> sl_send_reply("484","Address Incomplete");
>> exit;
>> }
>>
>> # dispatch destinations
>> route(DISPATCH);
>> }
>>
>> route[FROM_FS]
>> {
>>         record_route();
>>         route(RELAY);
>>         exit;
>> }
>>
>> route[RELAY] {
>> if (!t_relay()) {
>> sl_reply_error();
>> }
>> exit;
>> }
>>
>> # Per SIP request initial checks
>> route[REQINIT] {
>> if (!mf_process_maxfwd_header("10")) {
>> sl_send_reply("483","Too Many Hops");
>> exit;
>> }
>>
>> if(!sanity_check("1511", "7")) {
>> xlog("Malformed SIP message from $si:$sp\n");
>> exit;
>> }
>> }
>>
>> # Handle requests within SIP dialogs
>> route[WITHINDLG] {
>> if (has_totag()) {
>> # sequential request withing a dialog should
>> # take the path determined by record-routing
>> if (loose_route()) {
>> if (is_method("BYE")) {
>> setflag(FLT_ACC); # do accounting ...
>> setflag(FLT_ACCFAILED); # ... even if the transaction fails
>> }
>> route(RELAY);
>> } else {
>> if (is_method("SUBSCRIBE") && uri == myself) {
>> # in-dialog subscribe requests
>> route(PRESENCE);
>> exit;
>> }
>> if ( is_method("ACK") ) {
>> if ( t_check_trans() ) {
>> # non loose-route, but stateful ACK;
>> # must be ACK after a 487 or e.g. 404 from upstream server
>> t_relay();
>> exit;
>> } else {
>> # ACK without matching transaction ... ignore and discard.
>> exit;
>> }
>> }
>> sl_send_reply("404","Not here");
>> }
>> exit;
>> }
>> }
>>
>> # Handle SIP registrations
>> route[REGISTRAR] {
>> if(!is_method("REGISTER"))
>> return;
>> add_path_received();
>>         route(DISPATCH);
>> }
>>
>> # Presence server route
>> route[PRESENCE] {
>> if(!is_method("PUBLISH|SUBSCRIBE"))
>> return;
>>
>> sl_send_reply("404", "Not here");
>> exit;
>> }
>>
>> # Dispatch requests
>> route[DISPATCH] {
>> # round robin dispatching on gateways group '1'
>> switch ($fd){
>> case "oro.sips.nl":
>> send_reply(483, "Ok, Skipper!");
>> if (!ds_select_dst("1", "4")) {
>> log("ERROR: no active destinations found!\n");
>> send_reply(503, "Service Unavailable");
>> exit;
>> }
>> ds_select_dst("1", "4");
>> log("---- flag value is $dd -- branch $fd \n");
>> xdbg("--- SCRIPT: going to <$ru> via <$du> (attrs:
>> $xavp(_dsdst_=>attrs))\n");
>> break;
>> case "oro2.sips.nl":
>> send_reply(483, "Ok, Skipper!");
>> if (!ds_select_dst("2", "4")) {
>> log("ERROR: no active destinations found!\n");
>> send_reply(503, "Service Unavailable");
>> exit;
>> }
>> ds_select_dst("2", "4");
>> log("---- flag value is $dd -- branch $fd \n");
>> xdbg("--- SCRIPT: going to <$ru> via <$du> (attrs:
>> $xavp(_dsdst_=>attrs))\n");
>> break;
>> default:
>>    log("unknow destination?");
>>    send_reply(503, "No service defined");
>>    exit;
>> }
>>
>> xdbg("--- SCRIPT: going to <$ru> via <$du> (attrs:
>> $xavp(_dsdst_=>attrs))\n");
>> t_on_failure("RTF_DISPATCH");
>> route(RELAY);
>> exit;
>> }
>>
>> # Try next destionations in failure route
>> failure_route[RTF_DISPATCH] {
>> if (t_is_canceled()) {
>> exit;
>> }
>> # next DST - only for 500 or local timeout
>> if (t_check_status("500")
>> or (t_branch_timeout() and !t_branch_replied())) {
>> if(ds_next_dst()) {
>> xdbg("--- SCRIPT: retrying to <$ru> via <$du> (attrs:
>> $xavp(_dsdst_=>attrs))\n");
>> t_on_failure("RTF_DISPATCH");
>> route(RELAY);
>> exit;
>> }
>> }
>> }
>> _______________________________________________
>> Kamailio (SER) - Users Mailing List
>> sr-users at lists.kamailio.org
>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> sr-users at lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20201207/895f6ed6/attachment.htm>


More information about the sr-users mailing list