h1. Release 8.1 *Release date*: 2019-09-01 {{>toc}} h2. New features: #2681: add API to create Call generation tasks #2918: DIP HLR: add support for generation on large amount of requests #3040: add menu Base role #3039: refill through ICE API: add API to retrieve list of services + find service by name or ID, and refill on behalf of this service #3032: add support of generation of large amount of SMS #3029: add HTTP POST Content-Type option #2918: DIP LNP/MNP: add support of generation of large amount of requests #3024: add Companies - Default settings - Write-off when deactivated #3011: SMPP: ad option to overwrite field MessagingMode #3023: Telegram chats - remove selection of direction for reports #3022: Firewall tables: add possibility to block whole country by IP address #3015: Object history: show history of changes of sub-menu #3004: add HTTP API dlr #3005: HTTP: Pass variable MESSAGE_ID to a template of message generation #3006: HTTP: duplicate option retry_count for all tabs #2999: Add a new SIP option to not to return direct media flow back to Smartswitch on hangup #2996: HTTP message API: return segment count #2652: implement feature SMPP-ping for clients #2994: switch to new API of AmoCRM to add calls #2990: Reports -> Loops: separate by domains (Telephony, SMS, etc) #2752: substitute caller name from contacts on incoming call to softphone #2988: add menu My dealer reports #2986: SMPP: Add codecs for originator #2940: Financial report: show profit #2979: Financial report: show tab Display #2737: display warning when trying to save direct media + call recording #2976: need to split "direct media setup" option into several suboptions #2971: HTTP HLR API: allow sending several HLR requests simultaneously, via single API call #2974: HTTP API: add parameter request_id #2973: HTTP API: return destination_number in response #2966: Save codec for SMS in Message detail report #2916: Add SMS content replacement patterns #2961: Access -> Actions: add logging of prices import #2959: during call generation need to react on in numbers list changes during dialing, without disabling/enabling the task #2958: don't write audio to /var/tmp, because /var is a little partition #2954: add possibility to configure different mail templates and different mail accounts for different companies #2947: Changes: show empty changes by default #2945: Delete prices: should work in destination codes mode #2860: SMPP: add option "timeout" for originator #2939: Financial report: show summary for each column #2936: add global call duration limit #2718: upgrade wt to 3.3.12 #2818: Add menu Compare EDR for messages #2926: HTTP API: change according to specification https://jsonapi.org/ #2933: pcap sniffer: increase idle timeout for auto mode #2932: HTTP API call: add parametet "callback_caller_id" #2930: SMPP pcap: support devices under NAT and with changing DNS names #2929: SMPP: return message_id without dot #2609: Import exception classes: add menu E.164 codes #2519: SMPP pcap capturing #2920: SMPP dlr: save to DB DLR seqno + IP address + port #2921: Number pools -> Globally blocked number patterns #2851: HTTP: implement Digest Auth #2906: Whisper and eavesdrop throught the special extension #2910: add element ChanSpy to the call handler #2871: add application SendDTMF to the call handler #2852: implement seach of service by the pattern of description #2861: display DLR statistics report in the web-cabinet of a company #2854: Watchdog: support OH323 #2849: default tariff plan for termination #2842: SIP: add tab Outbound authentication #2790: support Exclude zones in Opened/Closed zones on peers #2829: implement Smartswitch compilation and linking with Asterisk-16 #2836: SMPP: save udh parameters in separate fields instead of SMPP MDR body #2812: SIP: add separate outbound password #2739: Telegram + profit per dealer #2814: VPBX administrator: open access to IP address ACL #2793: optimise number pool generation for number pools, which contain millions of numbers #2145: When gluing together audio-files, need to apply access restrictions #2776: AmoCRM: add to manifest.json key for support #2774: Add possibility to unregister a user by the button on web-interface #2758: Add hangup cause profiles #2769: export invoice number #2758: Add hangup cause profiles #2741: Invoice templates: add field Number pattern #2765: Add Q.850 -> SIP maps #2756: Add Hangup cause maps #2749: Add Hangup cause replacement class #2754: Block codes which are prohibited by Ukrainian govenment #2751: need separate Hunting classes for SMS #2733: Call generator, Call generation task: add parameter "execution limit" #2747: Send message: display the cost of SMS #2746: Send message: allow re-sending of failed messages by one click #2743: SMPP: support split via SAR #2742: Send message: send messages one by one and show progress #2725: add option on terminator "supports messages larger than 140 bytes" #2735: Call generation tasks: automatically react on changes in its parameters #2731: SMPP: add support for Concatenated Message UDH #2730: My services -> Send message: add calculation of segment count #2728: My services -> Send message: display encoding #1788: Billing packs - destination codes: add filter by status #2712: Add parameters "dial timeout on sticky forwarding" #2716: mysql++: change memeory management to base on shared_ptr #2706: AmoCRM: change new call notification to use new AmoCRM API #2701: backup personal user files and audio prompts #2677: add caller ID number pool on originator #2676: add legal notice to Number pools on Terminators #2704: Route classes -> Zones: show quick link to Routes #2619: Billing by E.164 zone #2673: Routing by zone #2697: add Route class->Priorities->E.164 callee zone #2692: AmoCRM: on auto-creation of a contact, assign answered user as responsible user, or if nobody answered - randomly one of not answered #2689: SIP peers: implement pagination + display a flag #2684: Remove global options "insecure INVITE" and "insecure port" #2680: Add timetable for terminators #2674: Consumption profiles: add option "on profile excess" = hangup/regular rate price #2534: add AddressSanitizer support #2671: Number replacement templates: prohibit replacing to space #2660: search within Periodic write-offs #2668: StartMixMonitor app: add option "start recording when call is bridged to another channel" #2666: User groups: add option "authentication mode" #2653: allow accepting payment in a general list of payments #2607: loss control + E.164 зоны #2632: send HTTP to user #2651: ICE API: change hlr and lnp_mnp API to the format of message API #2649: Queues: Add "C" option #2648: HTTP parameters: add check-box for Messaging, HLR, HTTP #2633: add Terminator -> HTTP -> Message #2644: move message_id from storage.mdr_smpp to storage.mdr #2643: переименовать storage.smmp в storage.mdr_smpp #2633: add Terminator -> HTTP -> Message #2638: HTTP: добавить отдельные URL, метод и POST тело для разных сервисов #2625: HTTP API to accept SMS #2621: add possibilityy to change invoice header #2620: add possibility to not to display ID of invoice #2611: Enhance filter usability #2623: Add button SIP -> Delete peer from cache #2605: implement batch insertion for company_summaries #2599: Complement with zeros MNC from prices on import #2597: AmoCRM: enhance CDR saving mode #2592: Modify AmoCRM widget in order for it to work with new HTTP API URL #2590: HTTP API: separate resource per API #2566: Users: enhance security of storing passwords on web-interface #2577: Loss controller: implement for dealer mode #2576: enhance displaying errors #2575: SMPP channel: enhance security of storing passwords #2574: IAX channel: enhance security of storing passwords #2573: HTTP channel: enhance security of storing passwords #2573: HTTP channel: enhance security of storing passwords #2567: Users: enhance security of storing passwords for SIP #2566: Users: enhance security of storing passwords for web-interface #2562: Enhance security of storing passwords #2571: Users: enhance security of storing PINs #2568: Users: output list of data for export on users generation #2569: SMPP: enhance security of storing passwords #2563: Companies: enhance security of storing passwords #2556: Optimisation of Call detail report for particular peer: make search on index from xxx_links instead of index from cdr #2557: Optimisation of E.164 code detail report: search only by a index from xxx_links instead of index from cdr #2555: Statistics deletion from web: allow to choose only year-month #2554: Statistics deletion through the web-interface: separate deletion for Telephony and Messaging #2426: optimize CDR deletion #2546: Web-phone -> Recents: dial a number with prefix #2394: Implement Web-phone -> Recents #2531: Web-phone: add button Echo-test #2391: Web-phone: implement volume control #2528: SMPP save sequence number #2526: E.164 code details: show total count, ASR, NER together with profit #2520: SMPP save port to Message detail report #2320: Call detail report: show oeer type in general report #2503: Loss controller: move from company settings to originator/gateway/user group settings #2454: profit controller + telegram + blocking/auto unblocking codes #2501: Origination control: need separate mail templates per company and user #2494: in case if several billing packs match on import from e-mail - show error message with listing of billing packs #2490: move amocrm plugin from exec(curl) to Wt HttpClient #2453: add direct RTP option per peer #2442: decrease amount of requests per second in AmoCRM API #2485: forwarding to a second queue h2. Bug-fixes: #3043: Copying call generation tasks: incorrectly saves numbers #3035: Support caller name with comma #3036: After deletion of IP address from firewall table through the web-interface, fail2ban immediately inserts it back #3026: prohibit saving invoice with end date more or equal to current date #3025: on forwarding, outbound CDR on user is saved with zero duration #3021: Billing pack - Object history - Mysql server gone away #3020: when SIP settings are deleted, Codecs submenu is not deleted #3019: when adding web settings for user, need to press Save twice #3018: substitution of caller name from contact doesn't work, if a call to softphone is initiated from web-interface #3014: when calculation invoice, progress is not shown #3013: invoice calculation takes too long #3009: Terminator->SMPP->Send message: no Billing tab #3008: app_send_dlr crash #3007: AmoCRM: on creating a contact they started to return id as string instead of long long #2998: SMPP DLR from ESME inside DATA_SM: submit_sm or submit_multi failed #2997: shouldn't perform codec translation for multi-segment SMS #2995: watchdog doesn't perform check for availability of hlr API #2993: Call detail report: filter doesnt remember chosen day #2991: Caller ID replacement: don't replace with different caller ID if client already calls with correct caller ID #2989: DLR with empty content and empty A and B numbers: treated as a loop #2985: DLR with dataCoding 4 is not supported #2982: page refresh: Wt internal error; code: undefined, description: Cannot read property 'nodeName' of null #2301: On closing a tab in firefox, it re-registers after chrome #2983: crash on WebrtcPhone::stop() #2981: WMessageBox is displayed behind WDialog #2980: Number pool: doesn't take random number #2978: Assertion 'transport->Open()' failed in file '/usr/ports/net/smartswitch/work/smartswitch-8.0.47520/app/sniffer/sniffer.cxx' line 69 #2977: Assertion 'm_pcap' failed in file pcap_file.cxx line 30 #2969: on disabling WebRTC, the button continues to blink if Asterisk is not running or is WSS port is not opened #2964: using boost::filesystem::copy causes segfault somehow #2972: HTTP API: return errors only on error of initial parsing of request or authentication #2970: send forwarder as caller: sends Diversion header #2968: web-interface crash (likely refresh with ProgressDialog) #2967: Call generation->Tasks: too long generation #2965: after upgrade to wt-3.3.12, date selection in Calendar stopped working #2964: Segfault on prices import #2963: Messaging: repeating number detector: Deadlock found when trying to get lock #2962: VPBX user - CRM - Contacts - import: shows empty fields #2957: suggestion popup crash on refresh #2956: WDialog segfault on close #2953: Always 1st number is picked up from number pool #2949: System live - Channels: switches "price" and "minute price" don't work #2952: SIP realtime: on disabling user, realtime peer is not deleted from cache #2950: SIP ACL: on changing priorities, realtime peer is not deleted from cache #2951: Invoice generation: incorrect end date while long consecutive invoice generation for several companies #2944: Realtime + ACL: too long queries #2948: Assertion match_length > 0 failed in file /usr/ports/net/smartswitch/work/smartswitch-8.0.47601/lib/libsmartswitch/utilities.cxx line 851 #2946: Changes: displayed row by row with 1 sec delay #2943: sql error on users export #2938: Wt-3.3.12 segfault on SuggestionPopup refresh #2942: Routing to a user through a call handler: black number pools don't work #2941: SIP peers: prev, next buttons are not centered #2583: new WDialog appears behind existing #2925: hlr_softswitch handler: HUNTSTOP options are not taken into account in RouteHLR element #2912: Call handler: issue when UnsetNode added after SetNode #2911: reports allow to choose a non-existent date #2900: SIP IP Address ACL: need to reload config or prune realtime SIP peers on change #2898: Force "sip prune realtime peer" on changing SIP settings on realtime user or user group #2899: if user group is realtime, and it has non-realtime users inside it, sip reload is not done on saving user group's SIP settngs #2897: Number pool on originator: incorrect CDR #2888: unable to copy standard role #2872: CallHandlerAcl: should automatically handle adding or changing call handler structure #2859: DLR statistics: Unknown column code in where clause #2855: nway confence doesn't work #2858: Nway conference: excess CDR #2853: Assertion !m_metrics_compare_strategy.empty() #2850: many duplicates on "insert into dlr в failed_queries" #2845: SMPP: problem with GSM messages containing "?" #2846: SMS split, using SAR - incorrect numbering #2844: ast_channel deadlock after allocation (HTTP, SMPP) #2813: when partition crashes, table is not seen in INFORMATION_SCHEMA.PARTITIONS #2841: Ast10 + realtime + authentication using user name: INVITE authentication passes with incorrect From (by IP + Auth login + Auth secret) #2835: SendDLR + UDH in SubmitSm: corrupted text inside DLR #2819: Route classes - E.164 zones: quick filter works incorrectly #2808: impossible to save SMPP settings on user group #2805: Accounting - Invoices: buttons with page numbers looks ugly in Chrome #2803: when testing SMPP, another incorrect CDR is saved #2799: VPBX administrator: information after user generation is not visible #2798: VPBX administrator: peer names are not shown in menu System live - SIP peers #2800: Number pools: web-interface thinks too much on quick filter on a table with 16 mln of rows #2797: unable to move numbers from Number pools, which contain several millions of numbers #2801: mistakenly configured million number pool of caller IDs leads to hanging the system #2796: unable to delete by number patern from Number pool, which contain several millions of numbers #2788: crash on smpp_endpoint_hangup() #2782: HLR cache: SQL error on insert #2781: Concatenated SMS DLR: need to pass to originator only 1st DLR #2780: DLR: saved different content from what is sent to originator #2777: SMPP message split: need to save chunks as separate mdr #2775: Loop detected on multi-segment SMS #2770: empty DLRs are not routed #2768: Call detail report - Back: Wt internal error #2764: unbound is launched after ntpdate #2760: write_off crash on cleanup #2670: Asterisk crash on SMPP #2750: Call generations: after deleting the task and mysql restart, autoincrement of task counter is reset #2736: SMPP: correctly translate messages, which contain UDH #2726: SMS: should bill by segments of 140 bytes and not 160 bytes #2724: AmoCRM: on call User - Gateway, Contact is created with a number containing gateway prefix #2723: Queue members: full name doesn't fit into 80 symbols #2711: AmoCRM: popup of a new call is shown 4 times during a call with 4 queue members #2710: SMPP connection is not deleted after module reload chan_smpp.so #2709: chan SMPP assert #2708: save CDR without linkage to a peer #2617: on copying invoice template image is not copied #2698: Route classes: Dont allow to save same priorities #2696: AmoCRM: On sticky routing through the Queue, numerous dialing of th same responsible user #2693: AmoCRM: no fallback on sticky routing #2695: Need to always save original caller ID on forwarding #2687: 2 same contacts (duplicates) are created on simultaneous dialing 2 users #2683: on planned weekly restart need to properly hangup active calls #2678: SIP->Proxy->port doesn't work #2670: SMPP Asterisk crash #2663: system freezes on attempt to delete number pool with 16 mln of numbers #2659: unable to automatically update Tenge rate #2658: chan_http reload under load #2656: automatic currency update from Yahoo has broken #2636: Call generation: changing the list of numbers of finished task, and then saving - leads to task progress of 0% #2635: User->copy: Db::Table::operator["group_id"] for table users: data unavailable #2630: Originator - SMPP - Smartswitch - SIP_SIMPLE - unregistered user: MDR on user are not saved #2629: Telephony - Billing pack- Е.164 codes - "lists" - Changes - Duplicate column name id #2628: E.164 zones -> Codes -> Db::Table::operator["value"] for table settings: data unavailable #2604: Lost connection to MySQL server at waiting for initial communication packet #2618: after upgrade to asterisk-11, some security messages stopped logging #2616: user is disabled, however calls towards him continue to pass after direct dialing through the Dial element of a call handler #2614: Statistics report: in default company role Export fields are hidden #2613: fail2ban blocks watchdog #2603: partition pruning is not activated on reports #2608: Check routing: unknown column priority #2606: Statistics report: wrong index selected #2602: displaying Task list lasts too long #2601: web crash on Next button #2598: Call detail report: displays a list for 10 sec #2596: chan_http crash in HttpClient::handleResponse() #2593: password generation produces passwords with special HTTP symbols #2589: HLR server: Connection::startWriteResponse(): connection not idle #2588: HTTP HLR Server: crash #2586: LNP/MNP test: report is not displayed #2587: sql error on E.164 zone import #2585: LNP/MNP + repeating number detector: checks А-number while it shouldn't #2584: HTTP HLR Server: crash #2572: web crash in AMICallGenerator::originate_call() #2561: Looks like we never originated DLR receipted message ID 1537914836.1243753 #2560: Call generation task -> end_time is set, but only 60% of progress #2538: Asterisk decline on DNS decline #2548: WebPhoneAttach + changing volume leads to web-interface crash #2547: prohibit saving empty E164 zone #2544: admin_portal + newsyslog: incorrect log recreation #2542: asterisk deadlock in res_ice in ~Application() #2540: sniffer sometimes crashes #2537: Sniffer + FreeBSD 11.2: FD/socket leak in pcap_findalldevs() for USB #2536: Pcap capturing: on originator with pcap signaling = chain, pcap media = yes, however media is not captured to pcap on terminator #2535: Web-phone: on a call to echo-test number 903, it's heard prompt not on a language which is configured on a user #2527: After upgrade, saving duplicates of numbers is not allowed in Call generation tasks #2525: Saving call generation tasks: Duplicate entry '18092-201090396016' for key 'batch_group_id' #2524: Access -> Changes: wrong translation #2523: Access -> Changes: see changes of call_generation_task_callee_ids after copying a task #2521: handle saving after editing B-numbers in Call generation tasks #2522: after upgrade, audio-records are played twice #2484: On dialing queue member through the call generator, in his CDR Audio tas is not seen #2516: when terminator is disabled, part of calls is saved with code AST_CAUSE_NO_USER_RESPONSE (18) #2514: E.164 code details: shown incorrectly on displaying the routing #2507: Loss controller: add auto blocking/unblocking the codes #2504: On saving an e-mail with body with 2Мб error MySQL server has gone away #2486: Call generator: remove possibility of selection of peer type on which no real choice is seen #2483: number is not deleted from a number pool and call generator after successful dialing [[Релиз 81|Русский перевод]]