Hi Keith,
I use mod_xml_rpc for exaclty that use case. It's very fast and easy to use, no process spawning involved and no ESL client necessary. Perfect for request based clients.
This is a python snippet that gives me the list of channels as xml and parses them into a dict:
from xmlrpclib import ServerProxy
from xml.etree.cElementTree import XML
response = server.freeswitch.api('show', 'channels as xml')
channels = []
for row in XML(response):
channels.append(dict([(e.tag, e.text) for e in row]))
Best regards,
Markus