2.8 dial pattern and rules

I applaud the efforts to make things easier to understand but when it makes hard to work with I frown.
Before I could cut and paste many rules and patterns with a click or 2 now I have to enter every one manually, a real pain.

Also how follow the howto “http://www.freepbx.org/support/documentation/howtos/how-to-set-up-per-use-caller-id-blocking-67” and enter the waits. it does not seem to accept any.

Perhaps the text box should remain…

Is there a screenshot somewhere that shows the difference? Here’s the reason I ask: For security and cost-control reasons, I have three different outbound routes (actually more than that, but only there three are germane to the issue). In one route I have a pattern for every valid US area code, expressed as 10 or 11 digits. It looks like this:

1201NXXXXXX
1202NXXXXXX
1203NXXXXXX
1205NXXXXXX
1206NXXXXXX
1207NXXXXXX
1208NXXXXXX
1209NXXXXXX
1210NXXXXXX
1212NXXXXXX
1213NXXXXXX
1214NXXXXXX
1215NXXXXXX
1216NXXXXXX
1217NXXXXXX
1218NXXXXXX
1219NXXXXXX
1224NXXXXXX
1225NXXXXXX
1228NXXXXXX
1229NXXXXXX
1231NXXXXXX
1234NXXXXXX
1239NXXXXXX
1240NXXXXXX
1248NXXXXXX
1251NXXXXXX
1252NXXXXXX
1253NXXXXXX
1254NXXXXXX
1256NXXXXXX
1260NXXXXXX
1262NXXXXXX
1267NXXXXXX
1269NXXXXXX
1270NXXXXXX
1274NXXXXXX
1276NXXXXXX
1281NXXXXXX
1301NXXXXXX
1302NXXXXXX
1303NXXXXXX
1304NXXXXXX
1305NXXXXXX
1307NXXXXXX
1308NXXXXXX
1309NXXXXXX
1310NXXXXXX
1312NXXXXXX
1313NXXXXXX
1314NXXXXXX
1315NXXXXXX
1316NXXXXXX
1317NXXXXXX
1318NXXXXXX
1319NXXXXXX
1320NXXXXXX
1321NXXXXXX
1323NXXXXXX
1325NXXXXXX
1330NXXXXXX
1331NXXXXXX
1334NXXXXXX
1336NXXXXXX
1337NXXXXXX
1339NXXXXXX
1347NXXXXXX
1351NXXXXXX
1352NXXXXXX
1360NXXXXXX
1361NXXXXXX
1364NXXXXXX
1385NXXXXXX
1386NXXXXXX
1401NXXXXXX
1402NXXXXXX
1404NXXXXXX
1405NXXXXXX
1406NXXXXXX
1407NXXXXXX
1408NXXXXXX
1409NXXXXXX
1410NXXXXXX
1412NXXXXXX
1413NXXXXXX
1414NXXXXXX
1415NXXXXXX
1417NXXXXXX
1419NXXXXXX
1423NXXXXXX
1424NXXXXXX
1425NXXXXXX
1430NXXXXXX
1432NXXXXXX
1434NXXXXXX
1435NXXXXXX
1440NXXXXXX
1442NXXXXXX
1443NXXXXXX
1458NXXXXXX
1469NXXXXXX
1470NXXXXXX
1478NXXXXXX
1479NXXXXXX
1480NXXXXXX
1484NXXXXXX
1501NXXXXXX
1502NXXXXXX
1503NXXXXXX
1504NXXXXXX
1505NXXXXXX
1507NXXXXXX
1508NXXXXXX
1509NXXXXXX
1510NXXXXXX
1512NXXXXXX
1513NXXXXXX
1515NXXXXXX
1516NXXXXXX
1517NXXXXXX
1518NXXXXXX
1520NXXXXXX
1530NXXXXXX
1534NXXXXXX
1540NXXXXXX
1541NXXXXXX
1551NXXXXXX
1559NXXXXXX
1561NXXXXXX
1562NXXXXXX
1563NXXXXXX
1567NXXXXXX
1570NXXXXXX
1571NXXXXXX
1573NXXXXXX
1574NXXXXXX
1575NXXXXXX
1580NXXXXXX
1585NXXXXXX
1586NXXXXXX
1601NXXXXXX
1602NXXXXXX
1603NXXXXXX
1605NXXXXXX
1606NXXXXXX
1607NXXXXXX
1608NXXXXXX
1609NXXXXXX
1610NXXXXXX
1612NXXXXXX
1614NXXXXXX
1615NXXXXXX
1616NXXXXXX
1617NXXXXXX
1618NXXXXXX
1619NXXXXXX
1620NXXXXXX
1623NXXXXXX
1626NXXXXXX
1630NXXXXXX
1631NXXXXXX
1636NXXXXXX
1641NXXXXXX
1646NXXXXXX
1650NXXXXXX
1651NXXXXXX
1657NXXXXXX
1660NXXXXXX
1661NXXXXXX
1662NXXXXXX
1678NXXXXXX
1681NXXXXXX
1682NXXXXXX
1701NXXXXXX
1702NXXXXXX
1703NXXXXXX
1704NXXXXXX
1706NXXXXXX
1707NXXXXXX
1708NXXXXXX
1712NXXXXXX
1713NXXXXXX
1714NXXXXXX
1715NXXXXXX
1716NXXXXXX
1717NXXXXXX
1718NXXXXXX
1719NXXXXXX
1720NXXXXXX
1724NXXXXXX
1727NXXXXXX
1731NXXXXXX
1732NXXXXXX
1734NXXXXXX
1740NXXXXXX
1747NXXXXXX
1754NXXXXXX
1757NXXXXXX
1760NXXXXXX
1762NXXXXXX
1763NXXXXXX
1765NXXXXXX
1769NXXXXXX
1770NXXXXXX
1772NXXXXXX
1773NXXXXXX
1774NXXXXXX
1775NXXXXXX
1779NXXXXXX
1781NXXXXXX
1785NXXXXXX
1786NXXXXXX
1801NXXXXXX
1802NXXXXXX
1803NXXXXXX
1804NXXXXXX
1805NXXXXXX
1806NXXXXXX
1808NXXXXXX
1810NXXXXXX
1812NXXXXXX
1813NXXXXXX
1814NXXXXXX
1815NXXXXXX
1816NXXXXXX
1817NXXXXXX
1818NXXXXXX
1828NXXXXXX
1830NXXXXXX
1831NXXXXXX
1832NXXXXXX
1843NXXXXXX
1845NXXXXXX
1847NXXXXXX
1848NXXXXXX
1850NXXXXXX
1856NXXXXXX
1857NXXXXXX
1858NXXXXXX
1859NXXXXXX
1860NXXXXXX
1862NXXXXXX
1863NXXXXXX
1864NXXXXXX
1865NXXXXXX
1870NXXXXXX
1878NXXXXXX
1901NXXXXXX
1903NXXXXXX
1904NXXXXXX
1906NXXXXXX
1907NXXXXXX
1908NXXXXXX
1909NXXXXXX
1910NXXXXXX
1912NXXXXXX
1913NXXXXXX
1914NXXXXXX
1915NXXXXXX
1916NXXXXXX
1917NXXXXXX
1918NXXXXXX
1919NXXXXXX
1920NXXXXXX
1925NXXXXXX
1928NXXXXXX
1931NXXXXXX
1936NXXXXXX
1937NXXXXXX
1940NXXXXXX
1941NXXXXXX
1947NXXXXXX
1949NXXXXXX
1951NXXXXXX
1952NXXXXXX
1954NXXXXXX
1956NXXXXXX
1970NXXXXXX
1971NXXXXXX
1972NXXXXXX
1973NXXXXXX
1978NXXXXXX
1979NXXXXXX
1980NXXXXXX
1985NXXXXXX
1989NXXXXXX
201NXXXXXX
202NXXXXXX
203NXXXXXX
205NXXXXXX
206NXXXXXX
207NXXXXXX
208NXXXXXX
209NXXXXXX
210NXXXXXX
212NXXXXXX
213NXXXXXX
214NXXXXXX
215NXXXXXX
216NXXXXXX
217NXXXXXX
218NXXXXXX
219NXXXXXX
224NXXXXXX
225NXXXXXX
228NXXXXXX
229NXXXXXX
231NXXXXXX
234NXXXXXX
239NXXXXXX
240NXXXXXX
248NXXXXXX
251NXXXXXX
252NXXXXXX
253NXXXXXX
254NXXXXXX
256NXXXXXX
260NXXXXXX
262NXXXXXX
267NXXXXXX
269NXXXXXX
270NXXXXXX
274NXXXXXX
276NXXXXXX
281NXXXXXX
301NXXXXXX
302NXXXXXX
303NXXXXXX
304NXXXXXX
305NXXXXXX
307NXXXXXX
308NXXXXXX
309NXXXXXX
310NXXXXXX
312NXXXXXX
313NXXXXXX
314NXXXXXX
315NXXXXXX
316NXXXXXX
317NXXXXXX
318NXXXXXX
319NXXXXXX
320NXXXXXX
321NXXXXXX
323NXXXXXX
325NXXXXXX
330NXXXXXX
331NXXXXXX
334NXXXXXX
336NXXXXXX
337NXXXXXX
339NXXXXXX
347NXXXXXX
351NXXXXXX
352NXXXXXX
360NXXXXXX
361NXXXXXX
364NXXXXXX
385NXXXXXX
386NXXXXXX
401NXXXXXX
402NXXXXXX
404NXXXXXX
405NXXXXXX
406NXXXXXX
407NXXXXXX
408NXXXXXX
409NXXXXXX
410NXXXXXX
412NXXXXXX
413NXXXXXX
414NXXXXXX
415NXXXXXX
417NXXXXXX
419NXXXXXX
423NXXXXXX
424NXXXXXX
425NXXXXXX
430NXXXXXX
432NXXXXXX
434NXXXXXX
435NXXXXXX
440NXXXXXX
442NXXXXXX
443NXXXXXX
458NXXXXXX
469NXXXXXX
470NXXXXXX
478NXXXXXX
479NXXXXXX
480NXXXXXX
484NXXXXXX
501NXXXXXX
502NXXXXXX
503NXXXXXX
504NXXXXXX
505NXXXXXX
507NXXXXXX
508NXXXXXX
509NXXXXXX
510NXXXXXX
512NXXXXXX
513NXXXXXX
515NXXXXXX
516NXXXXXX
517NXXXXXX
518NXXXXXX
520NXXXXXX
530NXXXXXX
534NXXXXXX
540NXXXXXX
541NXXXXXX
551NXXXXXX
559NXXXXXX
561NXXXXXX
562NXXXXXX
563NXXXXXX
567NXXXXXX
570NXXXXXX
571NXXXXXX
573NXXXXXX
574NXXXXXX
575NXXXXXX
580NXXXXXX
585NXXXXXX
586NXXXXXX
601NXXXXXX
602NXXXXXX
603NXXXXXX
605NXXXXXX
606NXXXXXX
607NXXXXXX
608NXXXXXX
609NXXXXXX
610NXXXXXX
612NXXXXXX
614NXXXXXX
615NXXXXXX
616NXXXXXX
617NXXXXXX
618NXXXXXX
619NXXXXXX
620NXXXXXX
623NXXXXXX
626NXXXXXX
630NXXXXXX
631NXXXXXX
636NXXXXXX
641NXXXXXX
646NXXXXXX
650NXXXXXX
651NXXXXXX
657NXXXXXX
660NXXXXXX
661NXXXXXX
662NXXXXXX
678NXXXXXX
681NXXXXXX
682NXXXXXX
701NXXXXXX
702NXXXXXX
703NXXXXXX
704NXXXXXX
706NXXXXXX
707NXXXXXX
708NXXXXXX
712NXXXXXX
713NXXXXXX
714NXXXXXX
715NXXXXXX
716NXXXXXX
717NXXXXXX
718NXXXXXX
719NXXXXXX
720NXXXXXX
724NXXXXXX
727NXXXXXX
731NXXXXXX
732NXXXXXX
734NXXXXXX
740NXXXXXX
747NXXXXXX
754NXXXXXX
757NXXXXXX
760NXXXXXX
762NXXXXXX
763NXXXXXX
765NXXXXXX
769NXXXXXX
770NXXXXXX
772NXXXXXX
773NXXXXXX
774NXXXXXX
775NXXXXXX
779NXXXXXX
781NXXXXXX
785NXXXXXX
786NXXXXXX
801NXXXXXX
802NXXXXXX
803NXXXXXX
804NXXXXXX
805NXXXXXX
806NXXXXXX
808NXXXXXX
810NXXXXXX
812NXXXXXX
813NXXXXXX
814NXXXXXX
815NXXXXXX
816NXXXXXX
817NXXXXXX
818NXXXXXX
828NXXXXXX
830NXXXXXX
831NXXXXXX
832NXXXXXX
843NXXXXXX
845NXXXXXX
847NXXXXXX
848NXXXXXX
850NXXXXXX
856NXXXXXX
857NXXXXXX
858NXXXXXX
859NXXXXXX
860NXXXXXX
862NXXXXXX
863NXXXXXX
864NXXXXXX
865NXXXXXX
870NXXXXXX
878NXXXXXX
901NXXXXXX
903NXXXXXX
904NXXXXXX
906NXXXXXX
907NXXXXXX
908NXXXXXX
909NXXXXXX
910NXXXXXX
912NXXXXXX
913NXXXXXX
914NXXXXXX
915NXXXXXX
916NXXXXXX
917NXXXXXX
918NXXXXXX
919NXXXXXX
920NXXXXXX
925NXXXXXX
928NXXXXXX
931NXXXXXX
936NXXXXXX
937NXXXXXX
940NXXXXXX
941NXXXXXX
947NXXXXXX
949NXXXXXX
951NXXXXXX
952NXXXXXX
954NXXXXXX
956NXXXXXX
970NXXXXXX
971NXXXXXX
972NXXXXXX
973NXXXXXX
978NXXXXXX
979NXXXXXX
980NXXXXXX
985NXXXXXX
989NXXXXXX

In another route I have a pattern for every Canadian area code, expressed as 10 or 11 digits (this one has a different set of usable trunks). It looks like this:

1204NXXXXXX
1226NXXXXXX
1250NXXXXXX
1289NXXXXXX
1306NXXXXXX
1343NXXXXXX
1403NXXXXXX
1416NXXXXXX
1418NXXXXXX
1438NXXXXXX
1450NXXXXXX
1506NXXXXXX
1514NXXXXXX
1519NXXXXXX
1581NXXXXXX
1587NXXXXXX
1604NXXXXXX
1613NXXXXXX
1647NXXXXXX
1705NXXXXXX
1709NXXXXXX
1778NXXXXXX
1780NXXXXXX
1807NXXXXXX
1819NXXXXXX
1867NXXXXXX
1902NXXXXXX
1905NXXXXXX
204NXXXXXX
226NXXXXXX
250NXXXXXX
289NXXXXXX
306NXXXXXX
343NXXXXXX
403NXXXXXX
416NXXXXXX
418NXXXXXX
438NXXXXXX
450NXXXXXX
506NXXXXXX
514NXXXXXX
519NXXXXXX
581NXXXXXX
587NXXXXXX
604NXXXXXX
613NXXXXXX
647NXXXXXX
705NXXXXXX
709NXXXXXX
778NXXXXXX
780NXXXXXX
807NXXXXXX
819NXXXXXX
867NXXXXXX
902NXXXXXX
905NXXXXXX

And, I also have a route (actually a block, since the only trunk it selects is ENUM) for countries in the Caribbean that we would never call, in part due to the phone scams that originate from there (e.g. where you are left a message with a callback number in that area, and if you actually call it back you get charged some outrageous per-minute charge). Also some “special”, potentially costly area codes (e.g. 700 and 900) are blocked here. It looks like this:

1242XXXXXXX
1246XXXXXXX
1264XXXXXXX
1268XXXXXXX
1284XXXXXXX
1340XXXXXXX
1345XXXXXXX
1441XXXXXXX
1456XXXXXXX
1473XXXXXXX
1500XXXXXXX
1600XXXXXXX
1649XXXXXXX
1664XXXXXXX
1670XXXXXXX
1671XXXXXXX
1700XXXXXXX
1709XXXXXXX
1710XXXXXXX
1758XXXXXXX
1767XXXXXXX
1784XXXXXXX
1787XXXXXXX
1809XXXXXXX
1829XXXXXXX
1867XXXXXXX
1868XXXXXXX
1869XXXXXXX
1876XXXXXXX
1880XXXXXXX
1900XXXXXXX
1939XXXXXXX
1NXX976XXXX
242XXXXXXX
246XXXXXXX
264XXXXXXX
268XXXXXXX
284XXXXXXX
340XXXXXXX
345XXXXXXX
441XXXXXXX
456XXXXXXX
473XXXXXXX
500XXXXXXX
600XXXXXXX
649XXXXXXX
664XXXXXXX
670XXXXXXX
671XXXXXXX
700XXXXXXX
709XXXXXXX
710XXXXXXX
758XXXXXXX
767XXXXXXX
784XXXXXXX
787XXXXXXX
809XXXXXXX
829XXXXXXX
867XXXXXXX
868XXXXXXX
869XXXXXXX
876XXXXXXX
880XXXXXXX
900XXXXXXX
939XXXXXXX
NXX976XXXX

Now, if you think that this was a much too long message to read, how do you suppose someone would feel about having to enter every single one of those lines individually? So I hope you are not saying that we would have to do that if we upgrade to 2.8 or later, because if that is the case, I absolutely, positively guarantee you that no version of FreePBX greater than 2.7 will ever be on one of our systems, until and unless someone figures out a way to avoid the manual entry.

Just in case I’m totally misinterpreting what I’m reading, that’s all I’ll say for now. Don’t want to be one of those people who jumps to conclusions and gets all into a lather over nothing!

Unfortunately there can sometimes be a trade-off between ease of use and understanding for less experienced users and vs. efficiency when dealing with more “complex” tasks for more advanced users.

We had several discussions when making this change for some of the very reasons you bring up. My personal preference is the “textarea” that was previously there as it is much easier for me to do things like you describe.

However, this is one of the most confusing areas for many users, both new and those who have been using FreePBX for some time. Even with the changes it it still often hard to understand the flow of outbound routes + trunks in conjunction with the dial rules and patter manipulation. However, feedback has indicated that it has at least improved a notch which is a step in the right direction.

Given that setting these up is not something that is done on a regular basis, as routes and trunks are usually configured and then forgotten, it was considered the right step to take when looking at both the positives and negatives that it brought.

Very sad indeed. we could have it both ways so why not leave the text input for those that know what they are doing together with the new stuff for those with no clue.
But thank for your comments.

we didn’t leave it for a couple reasons.

One is simply the support headache of two different sets of code that do the same thing, as the code to process the textarea vs. the new format is quite different.

The other is that the new GUI has introduced a bit more functionality for both outbound routes and trunks.

When we looked at all the pros vs. cons, the positive effect of the change far outweighed the negative effect, it’s not like it was close…

sir_sip,

you are welcome to use which ever version of FreePBX you care to use, no one will stop you.

I got same problem.
I just updated my freepbx to 2.8 on new installation and I wondering how to enter all my cellular prefix in outbound routes.
Will be very time consuming to do it one by one comparing to before that was just a copy and paste.
Will be good to have an option for entering in text area as before. Some button for create or import from text area.

Thanks in advance.

That response reminds me of the old Lily Tomlin operator character:

“We don’t care,
We don’t have to.
We’re the telephone company!”

Maybe the folks who wrote the Bulk DID and Bulk Extensions module can craft an add-on module to load in a spreadsheet of routing info. I’m sure this won’t be tough for experienced Asterisk/FreePBX guys to craft.

I remember on my Avaya systems, I had to enter each area code (and in some instances area code plus NNX) in the routing tables manually. It was a pain until someone came out with administration software that let me upload tables into the system.

FreePBX 2.8 is new. As more people use it, I’m sure new modules will be written to ease us into the changes.

I am already on it, I have the module so far to erase route patterns and soon it will be able to add new patterns.

Stay tuned for Bulk Routes in the Contributed Modules repository.

That was fast! Can’t wait to see it!

Well, I might drop the whole thing and maybe do it another way, but time will tell, it will not be for a couple of weeks as I have a lot of other things to do at work, remember, I only do this on my (limited) spare time.

If something is released it will only work for 2.8.

I really like the new format and the ease of using it but I use custom contexts to separate routing for groups of extensions. A Clone Route button when adding a new route would go a long way towards resolving the problem when routes are on the same box.

Not withstanding this I look forward to your contribution Mike, it is quite painful and time consuming to make dozens of routing entries for a route which is not always on the same box.

stonet,

why don’t you add a feature request for a clone route button so the idea does not get lost.

Our company has about 15 systems now running freepbx on asterisk 1.4. I’m one of the people that like to stay on the bleeding edge, well maybe not bleeding, but cutting edge. I had read some good and bad things about 2.8 but I thought with this one new system that I was setting up that I would try 2.8. The system would not be a critical system for about 2 months so I could easily switch if needed.

I have to say it is not really that bad. Yea, I did like the cut and past it was handy for some of the odd stuff we do to accomplish least cost routing. Also, I find that loading a route with a bunch of numbers in it takes a bit long to load. I don’t think that is my system and am still investigating it. But it does seem sluggish.

Anyways… I did have to make a couple of hundred entries and was no way in hell going to type each one. This is the computer age, we don’t type hundreds of lines of stuff. We cut and past. But that not being available I tried the other easy way. I added it to the database… Most experienced users should be familiar with the back end database that is driving your system.

A quick ODBC connection, a simple query, and presto… Hundreds of numbers added in seconds. Reload front end and your good to go.

I guess what I’m getting at, is there are always more than one way to skin cat, and if you are an experienced user you should know your system in and out. In fact with 2.8 there is sooooo much more that is driven by the back end database that it can make multiple system maintenance so easy.

Just my 2 cents.

Rob

Rob,

you are right it is a pain if you have to put a lot of entries in. There are some efforts looking into other options.

One approach, which has had some work done on an addon module, is to put a textarea back in, though the current module only allows for the match pattern, none of the others.

Another option that is being investigated is to allow for a CSV file to be loaded with all 4 fields. The assumption is that there are two classes of use cases out there. One class uses relatively ‘simple’ routing and does not have an issue with the current GUI. Another less frequent class has a lot of patterns because of some sophisticated lcr routing. A text area seems sub-optimal for something like that vs. a CSV file which would allow easy maintenance of the patterns in a spreadsheet.

My current thoughts are the CSV is probably more useful. Then the question is, does it get put in as an option in the routing (and trunk) modules. Is it done in another module that needs to be installed (which could still hook into the current page)?

Taking it a step further, would it be better to have a completely independent module which presented you with all your routes (or trunks) letting you check which ones should be acted on, and then let you upload a csv file and change all of the routes/trunks checked (with the option of either appending or replacing?) This latter mode may be more valuable for trunks and less so for routes, since it is more likely that trunks may have the same patterns repeated…

anyhow … those are some of the thoughts that are floating around and being looked at. One more possibility that comes to my mind is to extend the idea of the current XML service in the wizard that is US-centric allowing the user to specify their own URL where it should fetch the requested patterns and thus allowing someone to manage their own source of patterns based on some input…

anyhow - just some thoughts as to what is being tossed around…

Hi,

I think that a button inside the module for showing the text area input as before for entering patterns will be good enough.

Until now, this is my only concern for updating my systems to 2.8. We use many patterns in routes for LCR.

With text area is easy to search, replace, copy and paste.

2.8 is wonderful, maybe a will use Rob advice for updating directly on database if we decide to upgrade for using new features.

Have a look at #4445 concerning an option to upload a csv file from the dial pattern wizard select box.

r10159 in the 2.9 module branch is the suggested patch. If this tests out (needs some people to try it) and is a good solution we can look at back porting it to 2.8.

CSV file sounds like a great solution - it would be very easy to convert existing lists of patterns into CSV format, and once in that format, it would be easy to work with them using either a CSV editor or a plain old text editor.

As for R_Henry’s suggestion, unfortunately not everyone who runs FreePBX knows all the internal workings. What is a “quick ODBC connection”? That’s not something users had to know to use with 2.7 and earlier. I like the CSV file idea much better!

I also hate the new format and would prefer to get the text area back. I don’t think it makes sense to introduce a csv import or text entry add-on module to fix a data entry option that worked perfectly fine in the past. If users had trouble understanding how to use the text entry box then maybe someone should have expanded the help area instead of rewriting the entire code and then forcing users to look for alternate solutions to circumvent this change.

I know you meant well with the new data entry option but for those of us that only enter 1-2 routes it makes no difference if the y use the text box or new pattern boxes. However for those of us that use 100-500 routing entries it makes a huge difference.