<div dir="ltr"><div><div>Hey Klaus,<br></div>                Yes invites work fine from asterisk to UA <br><br></div>So should I record route() all the OPTIONS also?<br><br>        remove_hf("Route");<br>        if (is_method("INVITE|SUBSCRIBE|OPTIONS")){<br>
                xlog("L_INFO","mylog: Recording Route. Method: [$rm].\n");<br>                record_route();<br>                }<br><br><div>Thanks Ian<br><br></div><div><div>Message: 2<br>
Date: Fri, 28 Jun 2013 10:19:18 +0200<br>
From: Klaus Darilion <<a href="mailto:klaus.mailinglists@pernau.at">klaus.mailinglists@pernau.at</a>><br>
To: <a href="mailto:sr-users@lists.sip-router.org">sr-users@lists.sip-router.org</a><br>
Subject: Re: [SR-Users] Asterisk Gateway OPTIONS relay<br>
Message-ID: <<a href="mailto:51CD4706.7080600@pernau.at">51CD4706.7080600@pernau.at</a>><br>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed<br>
<br>
Does the routing of INVITE from Asterisk to the UA work? If yes, just<br>
make sure that you route the OPTIONS from Asterisk identical to the INVITE.<br>
<br>
regards<br>
Klaus<br>
<br>
On 27.06.2013 15:28, Ian French wrote:<br>
> Hey list,<br>
>             I've been trying the relay OPTIONS messages from an asterisk<br>
> server through kamailio to clients so to preserve the qualify feature in<br>
> asterisk. So<br>
><br>
><br>
> ASTERISK -----OPTIONS----> KAMAILIO ------------> UA<br>
><br>
> UA ----OK-----> KAMAILIO ---OK-----> ASTERISK<br>
><br>
> But I'm seeing floods of OPTIONS messages between asterisk and kamailio<br>
> now. So much so that kamailio seems to deadlock introducing 10 -20<br>
> second delays in processing messages<br>
><br>
> firstly I've enabled the options.so but this is just enable remote<br>
> monitoring of the application and in my FROMASTERISK route<br>
><br>
> #!ifdef WITH_ASTERISK<br>
> # Test if coming from Asterisk<br>
> route[FROMASTERISK] {<br>
> #       if($si==$sel(cfg_get.asterisk.<div id=":2ai">bindip)<br>
> #                       && $sp==$sel(cfg_get.asterisk.bindport))<br>
><br>
> if ((method==OPTIONS) && (uri=~"sip:.*[@]+.*")) {<br>
>                  xlog("L_INFO","Options Reply from $ru to $fu\r\n");<br>
>                  return 1;<br>
> }<br>
><br>
>          if(ds_is_from_list("2")){<br>
>          $sht(forw=>$ft)=$si;<br>
>                  xlog("L_INFO","INVITE: INVITE Passed From [$fu]<br>
> Asterisk Cluster To [$rm:$au].\n");<br>
>                  return 1;<br>
> }<br>
>             return -1;<br>
> }<br>
><br>
> I've included a debug below, stating *RFC3261 transaction matching<br>
> failed. *Can anyone help or advise on how I should solve this<br>
><br>
> Thanks in advance<br>
> Ian<br>
><br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/msg_parser.c:630]: SIP Request:<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/msg_parser.c:632]:  method:  <OPTIONS><br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/msg_parser.c:634]:  uri:     <sip:XXXXXXXX@P.P.P.P:5060><br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/msg_parser.c:636]:  version: <SIP/2.0><br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/parse_via.c:1287]: Found param type 232, <branch> =<br>
> <z9hG4bK50c02ae3>; state=6<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/parse_via.c:1287]: Found param type 235, <rport> = <n/a>; state=17<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/parse_via.c:2300]: end of header reached, state=5<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/msg_parser.c:515]: parse_headers: Via found, flags=2<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/msg_parser.c:517]: parse_headers: this is the first via<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core> [receive.c:145]:<br>
> After parse_msg...<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core> [receive.c:186]:<br>
> preparing to run routing scripts...<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core> [socket_info.c:501]:<br>
> grep_sock_info - checking if host==us: 10==10 &&  [P.P.P.P] == [P.P.P.P]<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core> [socket_info.c:504]:<br>
> grep_sock_info - checking if port 5060 matches port 5060<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core> [socket_info.c:501]:<br>
> grep_sock_info - checking if host==us: 10==10 &&  [A.A.A.A] == [P.P.P.P]<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core> [forward.c:446]:<br>
> check_self: host != me<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/parse_to.c:174]: DEBUG: add_param: tag=as2c63e7cc<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/parse_to.c:803]: end of header reached, state=29<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/parse_to.c:803]: end of header reached, state=10<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/msg_parser.c:187]: DEBUG: get_hdr_field: <To> [32];<br>
> uri=[sip:XXXXXXXX@P.P.P.P:5060]<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/msg_parser.c:167]: get_hdr_field: cseq <CSeq>: <102> <OPTIONS><br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: maxfwd [mf_funcs.c:85]:<br>
> value = 70<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/msg_parser.c:201]: DEBUG: get_hdr_body : content_length=0<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/msg_parser.c:103]: found end of header<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: geoip [geoip_pv.c:395]:<br>
> attempt to match: A.A.A.A<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: geoip [geoip_pv.c:401]:<br>
> geoip PV updated for: A.A.A.A<br>
> KamP /usr/local/sbin/kamailio[19288]: INFO: <script>: SIP message from<br>
> unprohibited source IE (ip: A.A.A.A) - Packet accepted<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [msg_translator.c:204]: check_via_address(A.A.A.A, A.A.A.A, 0)<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: siputils [checks.c:73]: no<br>
> totag<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: tm [t_lookup.c:1081]:<br>
> DEBUG: t_check_msg: msg id=294 global id=293 T start=0xffffffffffffffff<br>
> *KamP /usr/local/sbin/kamailio[19288]: DEBUG: tm [t_lookup.c:528]:<br>
> t_lookup_request: start searching: hash=44040, isACK=0*<br>
> **RFC3261 transaction matching failed*KamP<br>
> /usr/local/sbin/kamailio[19288]: DEBUG: tm [t_lookup.c:485]: DEBUG:<br>
> RFC3261 transaction matching failed<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: tm [t_lookup.c:711]: DEBUG:<br>
> t_lookup_request: no transaction found*<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: tm [t_lookup.c:1150]:<br>
> DEBUG: t_check_msg: msg id=294 global id=294 T end=(nil)<br>
> KamP /usr/local/sbin/kamailio[19288]: INFO: <script>: SIP Dialog From<br>
> Asterisk Gatways A.A.A.A- No Authentication<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core> [socket_info.c:501]:<br>
> grep_sock_info - checking if host==us: 10==10 &&  [P.P.P.P] == [P.P.P.P]<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core> [socket_info.c:504]:<br>
> grep_sock_info - checking if port 5060 matches port 5060<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: siputils [checks.c:73]: no<br>
> totag<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: rr [record.c:519]:<br>
> rr_param_buf=<;nat=yes><br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: tm [t_lookup.c:1379]:<br>
> DEBUG: t_newtran: msg id=294 , global msg id=294 , T on entrance=(nil)<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: tm [t_lookup.c:528]:<br>
> t_lookup_request: start searching: hash=44040, isACK=0<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: tm [t_lookup.c:485]: DEBUG:<br>
> RFC3261 transaction matching failed<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: tm [t_lookup.c:711]: DEBUG:<br>
> t_lookup_request: no transaction found<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: tm [t_hooks.c:374]: DBG:<br>
> trans=0x2b8a8f4f0ed8, callback type 1, id 0 entered<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [msg_translator.c:204]: check_via_address(A.A.A.A, A.A.A.A, 0)<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: tm [t_funcs.c:388]: SER:<br>
> new transaction fwd'ed<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core> [usr_avp.c:646]:<br>
> DEBUG:destroy_avp_list: destroying list (nil)<br>
> KamP last message repeated 5 times</div></div></div><div class="gmail_extra"><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
<br>
Message: 2<br>
Date: Fri, 28 Jun 2013 10:19:18 +0200<br>
From: Klaus Darilion <<a href="mailto:klaus.mailinglists@pernau.at">klaus.mailinglists@pernau.at</a>><br>
To: <a href="mailto:sr-users@lists.sip-router.org">sr-users@lists.sip-router.org</a><br>
Subject: Re: [SR-Users] Asterisk Gateway OPTIONS relay<br>
Message-ID: <<a href="mailto:51CD4706.7080600@pernau.at">51CD4706.7080600@pernau.at</a>><br>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed<br>
<br>
Does the routing of INVITE from Asterisk to the UA work? If yes, just<br>
make sure that you route the OPTIONS from Asterisk identical to the INVITE.<br>
<br>
regards<br>
Klaus<br>
<br>
On 27.06.2013 15:28, Ian French wrote:<br>
> Hey list,<br>
>             I've been trying the relay OPTIONS messages from an asterisk<br>
> server through kamailio to clients so to preserve the qualify feature in<br>
> asterisk. So<br>
><br>
><br>
> ASTERISK -----OPTIONS----> KAMAILIO ------------> UA<br>
><br>
> UA ----OK-----> KAMAILIO ---OK-----> ASTERISK<br>
><br>
> But I'm seeing floods of OPTIONS messages between asterisk and kamailio<br>
> now. So much so that kamailio seems to deadlock introducing 10 -20<br>
> second delays in processing messages<br>
><br>
> firstly I've enabled the options.so but this is just enable remote<br>
> monitoring of the application and in my FROMASTERISK route<br>
><br>
> #!ifdef WITH_ASTERISK<br>
> # Test if coming from Asterisk<br>
> route[FROMASTERISK] {<br>
> #       if($si==$sel(cfg_get.asterisk.bindip)<br>
> #                       && $sp==$sel(cfg_get.asterisk.bindport))<br>
><br>
> if ((method==OPTIONS) && (uri=~"sip:.*[@]+.*")) {<br>
>                  xlog("L_INFO","Options Reply from $ru to $fu\r\n");<br>
>                  return 1;<br>
> }<br>
><br>
>          if(ds_is_from_list("2")){<br>
>          $sht(forw=>$ft)=$si;<br>
>                  xlog("L_INFO","INVITE: INVITE Passed From [$fu]<br>
> Asterisk Cluster To [$rm:$au].\n");<br>
>                  return 1;<br>
> }<br>
>             return -1;<br>
> }<br>
><br>
> I've included a debug below, stating *RFC3261 transaction matching<br>
> failed. *Can anyone help or advise on how I should solve this<br>
><br>
> Thanks in advance<br>
> Ian<br>
><br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/msg_parser.c:630]: SIP Request:<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/msg_parser.c:632]:  method:  <OPTIONS><br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/msg_parser.c:634]:  uri:     <sip:XXXXXXXX@P.P.P.P:5060><br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/msg_parser.c:636]:  version: <SIP/2.0><br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/parse_via.c:1287]: Found param type 232, <branch> =<br>
> <z9hG4bK50c02ae3>; state=6<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/parse_via.c:1287]: Found param type 235, <rport> = <n/a>; state=17<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/parse_via.c:2300]: end of header reached, state=5<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/msg_parser.c:515]: parse_headers: Via found, flags=2<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/msg_parser.c:517]: parse_headers: this is the first via<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core> [receive.c:145]:<br>
> After parse_msg...<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core> [receive.c:186]:<br>
> preparing to run routing scripts...<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core> [socket_info.c:501]:<br>
> grep_sock_info - checking if host==us: 10==10 &&  [P.P.P.P] == [P.P.P.P]<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core> [socket_info.c:504]:<br>
> grep_sock_info - checking if port 5060 matches port 5060<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core> [socket_info.c:501]:<br>
> grep_sock_info - checking if host==us: 10==10 &&  [A.A.A.A] == [P.P.P.P]<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core> [forward.c:446]:<br>
> check_self: host != me<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/parse_to.c:174]: DEBUG: add_param: tag=as2c63e7cc<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/parse_to.c:803]: end of header reached, state=29<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/parse_to.c:803]: end of header reached, state=10<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/msg_parser.c:187]: DEBUG: get_hdr_field: <To> [32];<br>
> uri=[sip:XXXXXXXX@P.P.P.P:5060]<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/msg_parser.c:167]: get_hdr_field: cseq <CSeq>: <102> <OPTIONS><br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: maxfwd [mf_funcs.c:85]:<br>
> value = 70<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/msg_parser.c:201]: DEBUG: get_hdr_body : content_length=0<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [parser/msg_parser.c:103]: found end of header<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: geoip [geoip_pv.c:395]:<br>
> attempt to match: A.A.A.A<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: geoip [geoip_pv.c:401]:<br>
> geoip PV updated for: A.A.A.A<br>
> KamP /usr/local/sbin/kamailio[19288]: INFO: <script>: SIP message from<br>
> unprohibited source IE (ip: A.A.A.A) - Packet accepted<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [msg_translator.c:204]: check_via_address(A.A.A.A, A.A.A.A, 0)<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: siputils [checks.c:73]: no<br>
> totag<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: tm [t_lookup.c:1081]:<br>
> DEBUG: t_check_msg: msg id=294 global id=293 T start=0xffffffffffffffff<br>
> *KamP /usr/local/sbin/kamailio[19288]: DEBUG: tm [t_lookup.c:528]:<br>
> t_lookup_request: start searching: hash=44040, isACK=0*<br>
> **RFC3261 transaction matching failed*KamP<br>
> /usr/local/sbin/kamailio[19288]: DEBUG: tm [t_lookup.c:485]: DEBUG:<br>
> RFC3261 transaction matching failed<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: tm [t_lookup.c:711]: DEBUG:<br>
> t_lookup_request: no transaction found*<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: tm [t_lookup.c:1150]:<br>
> DEBUG: t_check_msg: msg id=294 global id=294 T end=(nil)<br>
> KamP /usr/local/sbin/kamailio[19288]: INFO: <script>: SIP Dialog From<br>
> Asterisk Gatways A.A.A.A- No Authentication<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core> [socket_info.c:501]:<br>
> grep_sock_info - checking if host==us: 10==10 &&  [P.P.P.P] == [P.P.P.P]<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core> [socket_info.c:504]:<br>
> grep_sock_info - checking if port 5060 matches port 5060<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: siputils [checks.c:73]: no<br>
> totag<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: rr [record.c:519]:<br>
> rr_param_buf=<;nat=yes><br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: tm [t_lookup.c:1379]:<br>
> DEBUG: t_newtran: msg id=294 , global msg id=294 , T on entrance=(nil)<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: tm [t_lookup.c:528]:<br>
> t_lookup_request: start searching: hash=44040, isACK=0<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: tm [t_lookup.c:485]: DEBUG:<br>
> RFC3261 transaction matching failed<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: tm [t_lookup.c:711]: DEBUG:<br>
> t_lookup_request: no transaction found<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: tm [t_hooks.c:374]: DBG:<br>
> trans=0x2b8a8f4f0ed8, callback type 1, id 0 entered<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core><br>
> [msg_translator.c:204]: check_via_address(A.A.A.A, A.A.A.A, 0)<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: tm [t_funcs.c:388]: SER:<br>
> new transaction fwd'ed<br>
> KamP /usr/local/sbin/kamailio[19288]: DEBUG: <core> [usr_avp.c:646]:<br>
> DEBUG:destroy_avp_list: destroying list (nil)<br>
> KamP last message repeated 5 times<br>
><br>
><br>
><br>
><br>
> _______________________________________________<br></blockquote></div><br></div></div>