mod_xml_curl and SUBSCRIBER_ABSENT
Hi all, I am using mod_xml_curl for serving directory XML based on database lookups. I can register phones using mod_xml_curl without problems, however I am having trouble calling/transfering/bridging calls to registered users. If I register using the default 1000 user there are no issues. XML returned to mod_xml_curl: <?xml version="1.0" encoding="UTF-8"?> <document type="freeswitch/xml"> <section name="directory"> <domain name="example.com"> <params> <param name="dial-string" value="{^^:sip_invite_domain=${dialed_domain}:presence_id=${dialed_user}@ ${dialed_domain}}${sofia_contact(*/${dialed_user}@${dialed_domain})}"/> </params> <groups> <group name="agents"> <users> <user id="test"> <params> <param name="password" value="test"/> </params> </user> </users> </group> </groups> </domain> </section> </document> setting up a call to the default 1000 user using "originate users/1000 echo" works flawlessly, if user is not registered FS returns "-ERR USER_NOT_REGISTERED" When trying "originate users/test echo" or "originate users/test@example.comecho", the CLI waits for timeout and then returns: -ERR SUBSCRIBER_ABSENT 2014-04-23 08:52:24.175708 [DEBUG] switch_ivr_originate.c:2061 Parsing global variables 2014-04-23 08:52:24.215756 [WARNING] mod_dptools.c:3943 Can't find user [ test@example.com] 2014-04-23 08:52:24.215756 [NOTICE] switch_ivr_originate.c:2662 Cannot create outgoing channel of type [user] cause: [SUBSCRIBER_ABSENT] 2014-04-23 08:52:24.215756 [DEBUG] switch_ivr_originate.c:3639 Originate Resulted in Error Cause: 20 [SUBSCRIBER_ABSENT] When looking up registered users in the Sofia profile the user seems to be registered: freeswitch@internal> sofia status profile Profile reg test Registrations: ================================================================================================= Call-ID: e546c814b5c44f598286b94f923af64e User: test@example.com Contact: "test" <sip:04268973@192.168.1.112:64622> Agent: Blink 0.8.0 (Windows) Status: Registered(UDP)(unknown) EXP(2014-04-23 09:06:21) EXPSECS(578) Host: fs01 IP: 192.168.1.111 Port: 5060 Auth-User: test Auth-Realm: example.com MWI-Account: test@example.com Total items returned: 2 ================================================================================================= Using FreeSWITCH Version 1.2.16+git~20131218T195141Z~6968ef88fa~64bit (git 6968ef8 2013-12-18 19:51:41Z 64bit) Regards, Kenn Leth Hansen
Kenn, The XML looks good, and should work. I am suspicious that your xml_curl server is not responding to the directory lookup request issued when you originate to user test. You mention you have to wait for a 'timeout' after issuing the originate command - this should not happen. Perhaps you are only responding to the register? Can you turn on xml_curl debugging (xml_curl debug_on), and make sure you get a response, and then post what you get. Thanks, Ian. On Wed, Apr 23, 2014 at 2:58 AM, Kenn Leth Hansen <klh@justfone.dk> wrote:
Hi all,
I am using mod_xml_curl for serving directory XML based on database lookups. I can register phones using mod_xml_curl without problems, however I am having trouble calling/transfering/bridging calls to registered users. If I register using the default 1000 user there are no issues.
XML returned to mod_xml_curl:
<?xml version="1.0" encoding="UTF-8"?> <document type="freeswitch/xml"> <section name="directory"> <domain name="example.com"> <params> <param name="dial-string" value="{^^:sip_invite_domain=${dialed_domain}:presence_id=${dialed_user}@ ${dialed_domain}}${sofia_contact(*/${dialed_user}@${dialed_domain})}"/> </params> <groups> <group name="agents"> <users> <user id="test"> <params> <param name="password" value="test"/> </params> </user> </users> </group> </groups> </domain> </section> </document>
setting up a call to the default 1000 user using "originate users/1000 echo" works flawlessly, if user is not registered FS returns "-ERR USER_NOT_REGISTERED"
When trying "originate users/test echo" or "originate users/ test@example.com echo", the CLI waits for timeout and then returns:
-ERR SUBSCRIBER_ABSENT
2014-04-23 08:52:24.175708 [DEBUG] switch_ivr_originate.c:2061 Parsing global variables 2014-04-23 08:52:24.215756 [WARNING] mod_dptools.c:3943 Can't find user [ test@example.com] 2014-04-23 08:52:24.215756 [NOTICE] switch_ivr_originate.c:2662 Cannot create outgoing channel of type [user] cause: [SUBSCRIBER_ABSENT] 2014-04-23 08:52:24.215756 [DEBUG] switch_ivr_originate.c:3639 Originate Resulted in Error Cause: 20 [SUBSCRIBER_ABSENT]
When looking up registered users in the Sofia profile the user seems to be registered:
freeswitch@internal> sofia status profile Profile reg test
Registrations:
=================================================================================================
Call-ID: e546c814b5c44f598286b94f923af64e User: test@example.com Contact: "test" <sip:04268973@192.168.1.112:64622> Agent: Blink 0.8.0 (Windows) Status: Registered(UDP)(unknown) EXP(2014-04-23 09:06:21) EXPSECS(578) Host: fs01 IP: 192.168.1.111 Port: 5060 Auth-User: test Auth-Realm: example.com MWI-Account: test@example.com
Total items returned: 2
=================================================================================================
Using FreeSWITCH Version 1.2.16+git~20131218T195141Z~6968ef88fa~64bit (git 6968ef8 2013-12-18 19:51:41Z 64bit)
Regards,
Kenn Leth Hansen
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
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
Ian, You were right, the server were responding a bogus XML on requests with action=user_call. Thank you. Regards, Kenn
participants (2)
-
Ian McMaster
-
Kenn Leth Hansen