Hello I've played around with the XML-RPC implementation and I have some suggestions. The output of all commands are now simple text strings. That makes the result parsing quite hard for applications that would like to use the interface (and it's really telnet commands wrapped into a xmlrpc body). For instance, take the "show channels" result. It currently looks like this (have removed the xml rpc body): uuid,created,name,state,cid_name,cid_num,ip_addr,dest,application,application_data,read_codec,read_rate,write_codec,write_rate 0983de41-2562-fa44-8c0c-a6e5747b2c17,2007-03-06 10:42:01,PortAudio/1234,CS_EXECUTE,FreeSwitch,5555551212,,1234,bridge,sofia/mydomain.com/1234@conference.freeswitch.org,L16,8000,L16,8000 37138427-cdb7-324c-b200-7123c063d473,2007-03-06 10:42:02,sofia/mydomain.com/1234@conference.freeswitch.org,CS_LOOPBACK,FreeSwitch,5555551212,,mydomain.com/1234@conference.freeswitch.org,,,PCMU,8000,PCMU,8000 2 total. That should have been wrapped into xml instead: <channels count="2"> <channel> <uuid>0983de41-2562-fa44-8c0c-a6e5747b2c17,2007-03-06</uuid> <created>2007-03-06 10:42:01</created> <name>PortAudio/1234</name> [... and all other information ...] </channel> </channels> Same goes for all other commands implemented in XML-RPC. Best regards, Jonas
Correction: <array> <data> <value><string>0983de41-2562-fa44-8c0c-a6e5747b2c17,2007-03-06</string></value> <value><dateTime.iso8601>20070306T10:42:01</dateTime.iso8601></value> <value><string>PortAudio/1234</string></value> </data> </array> You can also use the <struct> tag to be able to assign names to each value. More info: http://www.xmlrpc.com/spec/ On 3/6/07, Jonas Gauffin <jonas.gauffin@gmail.com> wrote:
Hello
I've played around with the XML-RPC implementation and I have some suggestions. The output of all commands are now simple text strings. That makes the result parsing quite hard for applications that would like to use the interface (and it's really telnet commands wrapped into a xmlrpc body).
For instance, take the "show channels" result. It currently looks like this (have removed the xml rpc body):
uuid,created,name,state,cid_name,cid_num,ip_addr,dest,application,application_data,read_codec,read_rate,write_codec,write_rate 0983de41-2562-fa44-8c0c-a6e5747b2c17,2007-03-06 10:42:01,PortAudio/1234,CS_EXECUTE,FreeSwitch,5555551212,,1234,bridge,sofia/mydomain.com/1234@conference.freeswitch.org,L16,8000,L16,8000 37138427-cdb7-324c-b200-7123c063d473,2007-03-06 10:42:02,sofia/mydomain.com/1234@conference.freeswitch.org,CS_LOOPBACK,FreeSwitch,5555551212,,mydomain.com/1234@conference.freeswitch.org,,,PCMU,8000,PCMU,8000
2 total.
That should have been wrapped into xml instead:
<channels count="2"> <channel> <uuid>0983de41-2562-fa44-8c0c-a6e5747b2c17,2007-03-06</uuid> <created>2007-03-06 10:42:01</created> <name>PortAudio/1234</name> [... and all other information ...] </channel> </channels>
Same goes for all other commands implemented in XML-RPC.
Best regards, Jonas
participants (1)
-
Jonas Gauffin