<p>Recently playing with jsonrpcs I found an issue with core.sockets_list and core.aliases_list commands called via jsonrpc_dispatch.<br>
The problem for the first is that the socket's list is that the JSON produced is like<br>
{<br>
"jsonrpc":      "2.0",<br>
"result":       {<br>
"socket":       {<br>
"proto":        "udp",<br>
"address":      "XX.XX.XX.XX",<br>
"ipaddress":    "XX.XX.XX.XX",<br>
"port": "5060",<br>
"mcast":        "no",<br>
"mhomed":       "no"<br>
},<br>
"socket":       {<br>
"proto":        "udp",<br>
"address":      "XX.XX.XX.XX",<br>
"ipaddress":    "XX.XX.XX.XX",<br>
"port": "5060",<br>
"mcast":        "no",<br>
"mhomed":       "no"<br>
},<br>
....<br>
},<br>
"id":   1<br>
}</p>
<p>While this is a valid JSON document, the fact that the "socket" key is defined several time in the same object makes many parsers not to properly parse it and only keep the last value.<br>
Solution for this is to set the RET_ARRAY flag for the rpc command core.sockets_list reply so that the jsonrpcs module will create an array for the sockets instead on an object.<br>
Similar issue for the aliases list returned by the core.aliases_list command: in this case the proposed solution is to add an "aliases" array to the rpc reply.</p>

<hr>

<h4>You can view, comment on, or merge this pull request online at:</h4>
<p>  <a href='https://github.com/kamailio/kamailio/pull/1185'>https://github.com/kamailio/kamailio/pull/1185</a></p>

<h4>Commit Summary</h4>
<ul>
  <li>core: set RET_ARRAY flag for core.sockets_list command</li>
  <li>core: return aliases list as an array in core.aliases_list</li>
</ul>

<h4>File Changes</h4>
<ul>
  <li>
    <strong>M</strong>
    <a href="https://github.com/kamailio/kamailio/pull/1185/files#diff-0">src/core/core_cmd.c</a>
    (6)
  </li>
</ul>

<h4>Patch Links:</h4>
<ul>
  <li><a href='https://github.com/kamailio/kamailio/pull/1185.patch'>https://github.com/kamailio/kamailio/pull/1185.patch</a></li>
  <li><a href='https://github.com/kamailio/kamailio/pull/1185.diff'>https://github.com/kamailio/kamailio/pull/1185.diff</a></li>
</ul>

<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/pull/1185">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AF36ZVjl08SYHuOTPSfU_iEGze27Bm9aks5sNIaIgaJpZM4OVTg1">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/AF36ZZMRWEBFU-gxpj5SDW-MkuFu3V9Xks5sNIaIgaJpZM4OVTg1.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/kamailio/kamailio/pull/1185"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/kamailio/kamailio","title":"kamailio/kamailio","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/kamailio/kamailio"}},"updates":{"snippets":[{"icon":"DESCRIPTION","message":"Adapt some core rpc command to json (#1185)"}],"action":{"name":"View Pull Request","url":"https://github.com/kamailio/kamailio/pull/1185"}}}</script>