paulhsu / csipsimple

Automatically exported from code.google.com/p/csipsimple
1 stars 1 forks source link

A Preprocessor Filter Option? #1928

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
I didn't find a preprocessor option in the filters. Something like if the 
number starts with xxx, then optionally modify it, then goes to account yyy, to 
continue with account yyy's filter and then dial the number. So that the dialer 
will automatically choose which account to dial the number without changing the 
current default account. Or did I miss the option somewhere?

Original issue reported on code.google.com by jac...@gmail.com on 31 Aug 2012 at 12:10

GoogleCodeExporter commented 9 years ago
The filtering/rewriting rules to rewrite filter numbers is there from the first 
version of csipsimple ;)
It's in menu > settings > Filter/rewriting rule (last entry).

See : http://code.google.com/p/csipsimple/wiki/UsingFilters?wl=en

These filtering rewriting rules apply for stock dialer / contacts integration 
(not when you are inside the application because inside the application you can 
force dialing something different and actually already know the account you'll 
use for the call).

Original comment by r3gis...@gmail.com on 31 Aug 2012 at 12:13

GoogleCodeExporter commented 9 years ago
I see. It is not quite the way I was accustomed to but good enough. Thanks.

Original comment by jac...@gmail.com on 31 Aug 2012 at 12:35

GoogleCodeExporter commented 9 years ago
What's the way you are accustomed too? Maybe some good ideas to take :)

Original comment by r3gis...@gmail.com on 31 Aug 2012 at 12:39

GoogleCodeExporter commented 9 years ago
It would be like an ATA or Obihai device with multiple accounts, or some 
Counterpath dialers, or a PBX system, just enter the number and dial. The 
preset rules automatically choose which provider to use and how to modify the 
number. No more manually selection. You just need one preprocessor entry above 
all other accounts in the filter menu that has the normal filter/rewrite 
options and an extra option to choose which account to hand over the remaining 
processing. 

Original comment by jac...@gmail.com on 31 Aug 2012 at 1:10

GoogleCodeExporter commented 9 years ago
> The preset rules automatically choose which provider to use and how to modify 
the number.

it can be done by the Filtering/Rewriting rule of csipsimple. You just enter 
the number in stock dialer and dial... the app will rewrite the number 
depending the account and also if there is some filter to force call or to 
exclude it from calls when matching a rule will force the call or exclude it 
from choice list.
There is rules to rewrite the number, rules to force the call using the account 
and rules to prevent the call using the account (there is also auto-answer 
rules).

> You just need one preprocessor entry above all other accounts in the filter 
menu that has the normal filter/rewrite options.

Indeed there is no "global" filtering rule, rules are presented per account. 
The per account processing is more powerful than a global linear processor. But 
maybe indeed less user friendly for people used to linear processor.
Would be an idea for those used to these more linear filtering processors (that 
allows less things), to create a plugin for csipsimple that abstract filtering 
rules to such a model. Since the per account model allows more things; 
abstracting it in an user interface that present some more linear stuff is 
technically possible.

Thanks for your feedback.

Original comment by r3gis...@gmail.com on 31 Aug 2012 at 1:38

GoogleCodeExporter commented 9 years ago
I didn't mean to discard the per account rules. I was suggesting to just add 
one extra entry "preprocessing and pre-routing" that has priority to other 
account entries in the filter menu and that "preprocessing and pre-routing" 
entry has an extra option to select which account to hand over the remaining 
processing. 

Just like a home phone connected to a PBX system. You dial a number, that's it. 
The PBX system automatically chooses which provider to use and how to modify 
the number. Sometimes you may want to use a prefix to force to use one 
particular provider. But most of the time, your family members just dial a 
number and know it will connect. No confusing list to select from. 

You just need one pre-route rule to select one provider. Without pre-routing, 
you need multiple rules in every account to force "not to dial this type of 
number" and "but force to dial this type of number in this condition" to 
implement the selection and de-selection of every account. Sounds like a little 
advantage? 

Original comment by jac...@gmail.com on 31 Aug 2012 at 2:25

GoogleCodeExporter commented 9 years ago
Indeed your right. But that's just about user interface. Not about the engine.
That's why I think could be done by a third party app. CSipSimple has a full 
featured api that can allow third party application (granted with correct 
rights) to set the configuration.
So having such a system that does batch on account filtering rule is possible. 

I think not good to introduce it in the main app because would make things very 
complicate to understand for users that never tried to configure a PBX system. 
I work on my full time job for pbxes and I know exactly what you mean. I don't 
think however that it's good approach for mainstream users use cases that 
rather think about accounts first and for example think :
"I'd like this account to be automatically used for numbers starting by 04"
or
"I'd like the gsm to be automatically used for numbers starting by 06"
or
"I'd like my SIP account of provider Y to never be used for numbers starting 
with 08"
or 
"I know that my sip provider X needs all numbers starting by + to be rewritten 
by 00"
or
"I'd like phone numbers with only 3 digits to be handled by my enterprise pbx"

I think that they'll be confused if there is another pre processor that applies 
all accounts (and BTW also GSM account and plugins virtual accounts -- such as 
webcallback plugins). And many will try to do that with the pre-processor and 
have headaches ;)

However, no doubt that for somebody with formation to pbxes routing/ nbr 
processing it will be more natural to pre-process number and have linear 
approach. As it could be addressed by a dedicated plugin to csipsimple and 
would not IMHO be an approach to give to mainstream users.

Also, just some point about your latest statement. Actually if there is one 
activated account with a force rule that applies... no need of any other rule 
in other accounts ;). 
So actually in case you describe you only need ONE rule in the account you want 
to handle the matching numbers (depending on other filters you have this rule 
may be more complex but since rules supports regexp, everything is possible). 
Another point, if only one account remains as eligible for the number at the 
end of the processing it will be automatically used.

Original comment by r3gis...@gmail.com on 31 Aug 2012 at 9:49

GoogleCodeExporter commented 9 years ago
I agree with you. It is just a matter of preferences. You asked me what's my 
way to do it and my feeling was, it is only one more entry above other accounts 
in the filter menu, why not? :O Leave the entry empty, the phone works in its 
old fashion. Filling it with pre-routing rules, some users may like its no 
brain dialing. For me, prefix is only used to forcibly select a specific 
provider for testing purpose. In most common cases, whether a number is 911, 
611, +xxxxxxxxxxx, 011xxxxxxxxxxx, 00xxxxxxxxxxx, +1xxxxxxxxxx, 1xxxxxxxxxxx, 
xxxxxxxxxxx, 0xxxxxxxxxx, 6, 7, 8, 8yyxxxxxxx, etc. etc. you don't need to 
teach the old parents, the wife and the kids how to use it. Just dial and talk. 

But I guess most users have only one or two providers. As I said, it is good 
enough with the current implementation. Actually, I would say, it is an 
overkill. :O

Original comment by jac...@gmail.com on 31 Aug 2012 at 11:39