<p></p>
<p>Generally LIS code and error message also important for error handling. Error code may be used for <code>switch</code> statement and a message for log description for humans.<br>
Here examples of LIS error messages<br>
<em>from RFC</em></p>
<div class="highlight highlight-text-xml"><pre><?<span class="pl-ent">xml</span><span class="pl-e"> version</span>=<span class="pl-s"><span class="pl-pds">"</span>1.0<span class="pl-pds">"</span></span>?>
  <<span class="pl-ent">error</span> <span class="pl-e">xmlns</span>=<span class="pl-s"><span class="pl-pds">"</span>urn:ietf:params:xml:ns:geopriv:held<span class="pl-pds">"</span></span> <span class="pl-e">code</span>=<span class="pl-s"><span class="pl-pds">"</span>locationUnknown<span class="pl-pds">"</span></span>>
    <<span class="pl-ent">message</span> <span class="pl-e">xml</span><span class="pl-e">:</span><span class="pl-e">lang</span>=<span class="pl-s"><span class="pl-pds">"</span>en<span class="pl-pds">"</span></span>>Unable to determine location
  </<span class="pl-ent">message</span>>
</<span class="pl-ent">error</span>></pre></div>
<p>my use case</p>
<div class="highlight highlight-text-xml"><pre><?<span class="pl-ent">xml</span><span class="pl-e"> version</span>=<span class="pl-s"><span class="pl-pds">"</span>1.0<span class="pl-pds">"</span></span><span class="pl-e"> encoding</span>=<span class="pl-s"><span class="pl-pds">"</span>UTF-8<span class="pl-pds">"</span></span>?>
<<span class="pl-ent">urn</span><span class="pl-ent">:</span><span class="pl-ent">error</span> <span class="pl-e">xmlns</span><span class="pl-e">:</span><span class="pl-e">urn</span>=<span class="pl-s"><span class="pl-pds">"</span>urn:ietf:params:xml:ns:geopriv:held<span class="pl-pds">"</span></span> <span class="pl-e">code</span>=<span class="pl-s"><span class="pl-pds">"</span>generalLisError<span class="pl-pds">"</span></span>>
  <<span class="pl-ent">urn</span><span class="pl-ent">:</span><span class="pl-ent">message</span>>An unspecified error occurred while handling LocationRequest.</<span class="pl-ent">urn</span><span class="pl-ent">:</span><span class="pl-ent">message</span>>
</<span class="pl-ent">urn</span><span class="pl-ent">:</span><span class="pl-ent">error</span>></pre></div>
<p>So I can use a <code>switch</code> statement like</p>
<pre><code>if ($var(res) == 200 && $var(res) > 203 ) {
  switch $(varLisErrorCode) {
    case "locationUnknown":
      xlog(L_ERR, "Received LIS error response: $(varLisErrorMessage)");
      route(TRY_DEFAULT_PSAP);
    case "generalLisError":
      xlog(L_ERR, "Received unexpected LIS error response: $(varLisErrorMessage)");
      route(TRY_OTHER_LOCATION_METHOD);
    default:
  }
}
</code></pre>
<p>For me more preferable to define module param <code>xavp_responce</code></p>
<pre><code>modparam("lost", "xavp_responce", "held_responce")
</code></pre>
<p>If <code>xavp_responce</code> defined then set keys.</p>
<ol>
<li>HTTP_ERROR_CODE;</li>
<li>HELD_ERROR_CODE;</li>
<li>HELD_ERROR_MESSAGE.</li>
</ol>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/kamailio/kamailio/issues/2724#issuecomment-831009598">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABO7UZMUF7BLTYPAVFMO2TDTLYPJNANCNFSM436YMEIQ">unsubscribe</a>.<img src="https://github.com/notifications/beacon/ABO7UZLQ77Z4X7XR3T33MFLTLYPJNA5CNFSM436YMEI2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOGGEDGPQ.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/kamailio/kamailio/issues/2724#issuecomment-831009598",
"url": "https://github.com/kamailio/kamailio/issues/2724#issuecomment-831009598",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>