Sponsor: VoiceMeUp - Corporate & Wholesale VoIP Services

VoIP Mailing List Archives
Mailing list archives for the VoIP community
 SearchSearch 

[Freeswitch-users] Alternative to directory lookup using mod


 
Post new topic   Reply to topic    VoIP Mailing List Archives Forum Index -> freeSWITCH Users
View previous topic :: View next topic  
Author Message
ctalle at voiceway.ca
Guest





PostPosted: Wed Sep 17, 2008 5:45 pm    Post subject: [Freeswitch-users] Alternative to directory lookup using mod Reply with quote

Just wondering...

I noticed that with xml_curl temp files are being created for each
request - this doesn't really help for higher request volumes.
Do you know of any way of updating the FS xml tree (let's say the
directory node for one domain) without curl?

Cristian

Peter P GMX wrote:
Quote:
Just to mention:
I figured out that, if you do an xml_curl request it tries to reply
based on the dynamic XML answer. If the answer is wrong if takes the
content of the config files.
This may be the reason why your standard numbers from the config files
1000, 1001, ... work and carl doesn't.

Best regards
Peter

Cristian Talle schrieb:

Quote:
Thank you veeery much, I'll give it a try!

Best,
Cristian

Peter P GMX wrote:

Quote:
Hello,

I have done it the following way:
xml_curl.conf.xml:

<configuration name="xml_curl.conf" description="cURL XML Gateway">
<bindings>
<binding name="example">
<param name="gateway-url"
value="http://192.168.0.35:3000/xml_curls/directory"
bindings="configuration|dialplan|directory"/>
</binding>
</bindings>
</configuration>

My Ruby on Rails server is listening on Port 3000. But https works also
(but very very slow).

If a phone (e.g. 1002) tries to register I answer with

<document type="freeswitch/xml">
<section name="directory">
<domain name="my.domain">
<user id="1002">
<params>
<param name="password" value="xxxx"/>
</params>

<variables>
<variable name="accountcode" value="1002"/>
<variable name="user_context" value="default"/>
<variable name="effective_caller_id_name" value="Extension 1002"/>
<variable name="effective_caller_id_number" value="1002"/>
</variables>
</user>
</domain>
</section>
</document>

Hope this helps

Best regards
Peter


Cristian Talle schrieb:


Quote:
Hi Carl,

I am experiencing a similar problem, have you found any solution so far?

Thank you,
Cristian Talle




Quote:
I wonder if anybody could provide a complete set of configuration files for
a working xml_curl user directory lookup.

I have been trying using the default set of configuration files, added the
xml_curl module loading and modified the configuration like this:

<configuration name="xml_curl.conf" description="cURL XML Gateway">
<bindings>
<binding name="dialplan fetcher">
<param name="gateway-url" value="
http://172.16.26.10/apache2-default/dialplan.php" <http://172.16.26.10/apache2-default/dialplan.php%22> bindings="dialplan"/>
</binding>
<binding name="directory fetcher">
<param name="gateway-url" value="
http://172.16.26.10/apache2-default/directory.php" <http://172.16.26.10/apache2-default/directory.php%22> bindings="directory"/>
</binding>
</bindings>
</configuration>

Both scripts just dump the expected XML result:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="freeswitch/xml">
<section name="dialplan" description="example_curl_dialplan">
<context name="default">
<extension name="curl_test">
<condition field="destination_number" expression="^999999999$">
<action application="answer"/>
<action application="send_display" data="Echo Test"/>
<action application="echo"/>
</condition>
</extension>
</context>
</section>
</document>

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="freeswitch/xml">
<section name="directory" description="example_curl_directory">
<domain name="172.26.16.10">
<user id="carl">
<params>
<param name="password" value="1234"/>
</params>
</user>
</domain>
</section>
</document>

The sofia-sip parameter "accept-blind-reg" is set to false.

When using one of the default users (1000), I can register and the xml_curl
dialplan lookup works like expected. However, when trying to register as
user carl,
I can see that the XML is received by the xml_curl interface, but sofia-sip
complains that it cannot find the user. Here is a part of the console
output:

mod_xml_curl.c:194 xml_url_fetch() XML response is in
/tmp/6053a796-2bdb-11dd-9449-17a3c8baef50.tmp.xml
sofia_reg.c:1061 sofia_reg_parse_auth() can't find user [carl at 172.16.26.10 <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users>]

When using the xml_locate cli command, I get a similar result:




Quote:
/ xml_locate directory domain name 172.16.26.10



/mod_xml_curl.c:194 xml_url_fetch() XML response is in
/tmp/93d6019a-2bdb-11dd-9449-17a3c8baef50.tmp.xml
API CALL [xml_locate(directory domain name 172.16.26.10)] output:
<domain name="172.16.26.10">
### contents of local XML file (users 1000 and up)
</domain>

It fetches the XML from the webserver and dumps the contents of the local
XML files. Disabling the "directory" section in the default freeswitch.xml
file does not help,
as I initially thought it might be caused by the duplicate domain names.

I hope someone could help out here.





_______________________________________________
Freeswitch-users mailing list
Freeswitch-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org




_______________________________________________
Freeswitch-users mailing list
Freeswitch-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org



------------------------------------------------------------------------

_______________________________________________
Freeswitch-users mailing list
Freeswitch-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org



_______________________________________________
Freeswitch-users mailing list
Freeswitch-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org




_______________________________________________
Freeswitch-users mailing list
Freeswitch-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org
Back to top
brian at freeswitch.org
Guest





PostPosted: Wed Sep 17, 2008 5:47 pm    Post subject: [Freeswitch-users] Alternative to directory lookup using mod Reply with quote

Are those temp files not going away?

/b

On Sep 17, 2008, at 5:43 PM, Cristian Talle wrote:

Quote:
Just wondering...

I noticed that with xml_curl temp files are being created for each
request - this doesn't really help for higher request volumes.
Do you know of any way of updating the FS xml tree (let's say the
directory node for one domain) without curl?

Cristian


_______________________________________________
Freeswitch-users mailing list
Freeswitch-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org
Back to top
anthony.minessale at g...
Guest





PostPosted: Wed Sep 17, 2008 8:43 pm    Post subject: [Freeswitch-users] Alternative to directory lookup using mod Reply with quote

if you say inhale the xml into memory and the sever goes haywire and sends you 2 gigs out output you are in for a treat.
if you can get enough call volume on one box where the disk i/o of xml_curl even shows up on the map in relation to all the rtp etc, we've won.


On Wed, Sep 17, 2008 at 6:00 PM, Cristian Talle <ctalle@voiceway.ca (ctalle@voiceway.ca)> wrote:
Quote:
less tickin keeps you breathin Smile It'd be nice though if you could just
use xml_rpc to tell FS:

/xml_update <section> <tag> <tag_attr_name> <tag_attr_val>...,/

similar to xml_locate

Cristian


Brian West wrote:
Quote:
If you're that concerned with it.. move the tmp to a ramdisk Wink I
thought modern hard drives could take a lickin and keep on tickin

/b

On Sep 17, 2008, at 5:51 PM, Cristian Talle wrote:


Quote:
Oh, they are but it's still HDD... I wouldn't like to see the server
die
because of too much disk IO
I'm trying to figure out what's the most efficient way to handle
changes
in user profiles (and possibly dialplan, etc...) if order handle
thousands of users per server.

Cristian



_______________________________________________
Freeswitch-users mailing list
Freeswitch-users@lists.freeswitch.org (Freeswitch-users@lists.freeswitch.org)
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org




_______________________________________________
Freeswitch-users mailing list
Freeswitch-users@lists.freeswitch.org (Freeswitch-users@lists.freeswitch.org)
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org





--
Anthony Minessale II

FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/

AIM: anthm
MSN:anthony_minessale@hotmail.com ([email]MSN%3Aanthony_minessale@hotmail.com[/email])
GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com ([email]PAYPAL%3Aanthony.minessale@gmail.com[/email])
IRC: irc.freenode.net #freeswitch

FreeSWITCH Developer Conference
sip:888@conference.freeswitch.org ([email]sip%3A888@conference.freeswitch.org[/email])
iax:guest@conference.freeswitch.org/888
googletalk:conf+888@conference.freeswitch.org ([email]googletalk%3Aconf%2B888@conference.freeswitch.org[/email])
pstn:213-799-1400
Back to top
mike at jerris.com
Guest





PostPosted: Thu Sep 18, 2008 6:05 pm    Post subject: [Freeswitch-users] Alternative to directory lookup using mod Reply with quote

Do you have any performance tests to show the difference?


Mike



On Sep 18, 2008, at 6:50 PM, Cristian Talle wrote:
Quote:
I gave it a try though... and it works nicely (at least for directory entries for now). I've added 3 more commands to xml_curl: cache_on, cache_off and cache_delete_key.

- cache_on - enables caching: it will store in a switch_hash_t structure all xml strings returned by curl, using <username>@<realm> as a key (since we're talking directory only in this example). The same key is looked up every time the xml is requested for that user/realm and the code returns an xml structure created using switch_parse_xml_from_str().

- cache_off - switches back to the original behavior and clears the hash.

- cache_delete_key <key> - will invalidate the cache entry so that next time it is reloaded by curl.

considering a 500 bytes - 1K string for each profile, you can cache 10000 user profiles in ~10M (considering we're storing the char* s)
please see a sample console output,with a terminal registering every 25 seconds

============================================================================
freeswitch@localhost.localdomain (freeswitch@localhost.localdomain)> 2008-09-18 18:26:19 [CONSOLE] mod_xml_curl.c:363 xml_url_fetch() XML response is in /tmp/d0c586a8-85d0-11dd-838c-5148f6e85b7b.tmp.xml

freeswitch@localhost.localdomain (freeswitch@localhost.localdomain)> xml_curl cache_on
API CALL [xml_curl(cache_on)] output:
OK

freeswitch@localhost.localdomain (freeswitch@localhost.localdomain)> 2008-09-18 18:26:44 [CONSOLE] mod_xml_curl.c:245 xml_url_fetch() Key is not in cache [1039@192.168.1.225 (1039@192.168.1.225)].
2008-09-18 18:26:45 [CONSOLE] mod_xml_curl.c:363 xml_url_fetch() XML response is in /tmp/e00c7ae0-85d0-11dd-838c-5148f6e85b7b.tmp.xml

2008-09-18 18:27:10 [CONSOLE] mod_xml_curl.c:231 xml_url_fetch() Using xml from cache: 1039@192.168.1.225 (1039@192.168.1.225)
2008-09-18 18:27:35 [CONSOLE] mod_xml_curl.c:231 xml_url_fetch() Using xml from cache: 1039@192.168.1.225 (1039@192.168.1.225)

freeswitch@localhost.localdomain (freeswitch@localhost.localdomain)> xml_curl cache_delete_key 1039@192.168.1.225 (1039@192.168.1.225)
2008-09-18 18:27:42 [NOTICE] mod_xml_curl.c:128 xml_curl_function() Removing value for [1039@192.168.1.225 (1039@192.168.1.225)]
API CALL [xml_curl(cache_delete_key 1039@192.168.1.225 (1039@192.168.1.225))] output:
OK

2008-09-18 18:28:01 [CONSOLE] mod_xml_curl.c:245 xml_url_fetch() Key is not in cache [1039@192.168.1.225 (1039@192.168.1.225)].
2008-09-18 18:28:01 [CONSOLE] mod_xml_curl.c:363 xml_url_fetch() XML response is in /tmp/0d729f00-85d1-11dd-838c-5148f6e85b7b.tmp.xml

freeswitch@localhost.localdomain (freeswitch@localhost.localdomain)> xml_curl cache_off
2008-09-18 18:28:07 [NOTICE] mod_xml_curl.c:102 xml_curl_function() cleaning up directory cache
API CALL [xml_curl(cache_off)] output:
OK
========================================================================

Back to top
Display posts from previous:   
Post new topic   Reply to topic    VoIP Mailing List Archives Forum Index -> freeSWITCH Users All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group

VoiceMeUp - Corporate & Wholesale VoIP Services