Hello everyone! Could you help please how-to realize limits on b-leg? I already saw a wiki page, and way to outbound limit on gateways but, there's some problems to use this solution in my cases. Case 1: [provider sip] -> [fs] -> [user 1] In this case, I'm need to set call limit for user 1 (it can handle no more than concurrent 1 call, connected device is not managed by me) . If I will set it on a-leg in dialplan, the limit will bound to a-leg's UUID and stay here even if b-leg (which is user 1) will be destroyed, for example if user 1 transferred (of att-xferred) call to another user. Case 2: [provider sip] -> [fs] -> [user 1], [user 2], [user 3] (enterprise dial) In this case, I'm need to set own call limit for each user's channel, only for matching b-leg, not for all. This cases, may be realized with loopback channel (which is not elegant, because produces addition problems with cdrs...) but, what will be if one of this users is fax, and we're need to make T.38 pass-trough between a-leg and b-leg? At this moment there's no way to pass-trough t.38 with loopback channels. Ok, after all of this, I'm tried to some sort of googling and found this issue in FS Jira: https://freeswitch.org/jira/si/jira.issueviews:issue-html/FS-1792/FS-1792.ht... I was tried to use uuid_limit for setting limit on b-leg, but: - I cannot use uuid-limit on a-leg because, there's no uuid for b-leg before bridge called. I can generate uuid by api function, and set for b-leg as channel variable in bridge, but now I also cannot run uuid_limit on b-leg because there's no b-leg channel before bridge called. - If I'm write a script which handles channel init event, checking some variable, and after this, executes uuid_limit on it, there's some other problem - events working in async way, so user's phone will ring before uuid_limit action will be executed (after that user will have +1 missed call, which is not must be here). So the last way to implement this cases is to write module for FS (C or .Net) which will handle execute_on_init, variable, and executes action when channel initializing. But, maybe there any other way to implement this functionality. Or may be execute_on_init shall be added to FS core? -- With best regards, Arthur Kraev
participants (1)
-
Артур Краев