FreeSWITCH          




Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: updated wiki links to confluence links

...

The prefix "variable_" is displayed in CDRs and other places to indicate that the value is a variable. To work with the variable in code strip off the prefix "variable_" and use the result.

Multiple Calls

http://wiki.freeswitch.org/wiki/Dialplan_Example Dialplan - FollowMe

leg_delay_start can delay ringing of selected outbound calls to permit other calls an earlier chance to get call, but variables are only documented on that linked page

...

[10:47] <witchdoc> BoteMan: did you have alphanumeric usernames?
[10:47] <BoteMan> Nope. Just plain numerals.
[10:47] <@bkw__> witchdoc:  shouldn't matter
01[10:48] <BoteMan> Ultimately found that sofia/internal looks in the public context because that's what's in sip_profiles/internal.xml
01[10:48] <BoteMan> But user/ does some magic and looks in "default" context
[10:48] <witchdoc> bkw__: it matters, cos FS is on register caseinsensitive but in the dialplan it is casesensitive
[10:48] <@bkw__> witchdoc:  no its not
[10:48] <witchdoc> yes it is, sure
[10:48] <@bkw__> witchdoc:  examples
[10:48] <@bkw__> are you using regex to match these case sensitive thingys?
[10:49] <witchdoc> bkw__: for example - i have an username like "Username123" - the user registered with "uSerName123" - it is allowed to do so.
[10:49] <@bkw__> then in dialplan how art thou matching this?
[10:49] <witchdoc> bkw__: if i dialed "Username123" with sofia/profile/Username123 - it failed
[10:50] <witchdoc> bkw__: so i matched the dialplan with the ?i magic
[10:50] <@bkw__> oh you need to learn the difference between auth-user and user
[10:50] <@bkw__> <param name="inbound-reg-force-matching-username" value="true"/>
[10:50] <@bkw__> will prevent that sillyness
[10:50] <@bkw__> at least thats the INTENT
[10:51] <witchdoc> bkw__: i have this already enabled
[10:52] <witchdoc> bkw__: and as i started with 1.2.8 or so, this sillyness was allready there
[10:52] <@bkw__> if (zstr(username) || zstr(to_user) || strcasecmp(to_user, username)) {
[10:52] <@bkw__> LOL, I think thats a bug to use strcasecmp there
[10:52] <@bkw__> witchdoc:  I would file a JIRA
[10:52] <@bkw__> because User1234 and uSER1234 aren't the same in my book.
[10:53] <@bkw__> because that needs a little discussion.
[10:53] <@bkw__> because it says 'Optional check that auth name == SIP username'
[10:53] <@bkw__> User1234 != uSER1234
[10:54] <witchdoc> in kamailio (1.5) it is allowed
[10:54] <@bkw__> REALLY?
[10:54] <witchdoc> thats the problem, cos i migrated from that to FS and it breaks
[10:54] <witchdoc> YES
[10:54] <@bkw__> file jira either way, this is a good item to debate
[10:58] <witchdoc> bkw__: hmm only <action application="bridge" data="sofia/external/${dialed_extension}%${domain_name}"/>  as dialstring works. i get crazy...
[10:58] <pantera_neagra> witchdoc: is @ not %
[10:59] <witchdoc> pantera_neagra: that dialstring *works*! if i know the profile
[10:59] <@bkw__> pantera_neagra:  % is valid
[10:59] <@bkw__> witchdoc:  run sofia_contact at fs_cli
[10:59] <@bkw__> sofia_contact */user@domain
[10:59] <@bkw__> does that return anything?
[11:00] <@bkw__> pantera_neagra:  https://wiki.freeswitch.org/wiki/FreeSwitch_FAQ#Q:_What_is_the_difference_between_using_a_.25_and_.40_in_a_sofia_dial_string.3F FAQ: What is the difference between using a % and @ in a sofia dial string?
[11:00] <@bkw__> witchdoc:  guessing you forgot to alias the domain to your profile?
[11:00] <witchdoc> error/user_not_registered
[11:00] <@bkw__> herpa derp
[11:00] <@bkw__> witchdoc:  sofia status says?
[11:00] <witchdoc> bkw__: i think so
[11:00] <@bkw__> is domain an alias to the profile?
[11:01] <@bkw__> pastebin sofia status please
[11:01] <pantera_neagra> bkw__: lol i'm stupid :D
[11:04] <witchdoc> bkw__: is an alias of my sipdomain an must-have for every profile?

...

(10:48:37) SwK: hackeron_: there are 3 ways to get dialplan out of the database, 1) mod_xml_curl as crienzo mentioned, 2) you can create XML bindings with the built in scripting languages see XML bindings, see https://wiki.freeswitch.org/wiki/Mod_lua/Serving _ Configuration with Lua, or 3) you can write a custom dialplan hander in C to totally bypass the existing XML dialplan module
(10:48:49) bkw__1: use xml_curl if you want speed and no leaks
(10:48:58) bkw__1: using perl will leak like crazy in some cases due to how per works when embeded

...