├── .editorconfig ├── .eslintrc.yml ├── .gitattributes ├── .gitignore ├── .gitmodules ├── LICENSE ├── README ├── README.md ├── config ├── availableApps.js ├── config.js ├── css │ └── welcome.css ├── images │ ├── AppStore_welcomePage.png │ ├── logo.png │ ├── logos │ │ └── .placeholder │ └── map.png ├── lang │ ├── en.js │ ├── ru.js │ └── zh.js ├── load.js ├── loadFavicon.js └── tmpl │ ├── left_welcome.html │ ├── new_welcome.html │ └── welcome.html ├── css ├── jquery.jscrollpane.css ├── jquery.tooltip.css ├── jslider │ ├── jslider.css │ └── jslider.png ├── qunit.css ├── qunit.runner.css ├── tables.css ├── ui-lightness │ ├── images │ │ ├── ui-bg_diagonals-thick_18_b81900_40x40.png │ │ ├── ui-bg_diagonals-thick_20_666666_40x40.png │ │ ├── ui-bg_flat_10_000000_40x100.png │ │ ├── ui-bg_glass_100_f6f6f6_1x400.png │ │ ├── ui-bg_glass_100_fdf5ce_1x400.png │ │ ├── ui-bg_glass_65_ffffff_1x400.png │ │ ├── ui-bg_gloss-wave_35_f6a828_500x100.png │ │ ├── ui-bg_highlight-soft_100_eeeeee_1x100.png │ │ ├── ui-bg_highlight-soft_75_ffe45c_1x100.png │ │ ├── ui-icons_222222_256x240.png │ │ ├── ui-icons_228ef1_256x240.png │ │ ├── ui-icons_ef8c08_256x240.png │ │ ├── ui-icons_ffd27a_256x240.png │ │ └── ui-icons_ffffff_256x240.png │ └── jquery-ui-1.8.8.custom.css └── validate.css ├── favicon.ico ├── img ├── invalid.png ├── logoWinkstartGray.png ├── search_left.png ├── search_mid.png ├── search_right.png ├── sort_asc.png ├── sort_asc_disabled.png ├── sort_desc.png ├── sort_desc_disabled.png ├── switch.png └── wsLogo.png ├── index.html ├── js ├── README.txt ├── amplify │ ├── _amplify.js │ ├── amplify.core.js │ ├── amplify.request.js │ ├── amplify.request.poll.js │ └── amplify1.0a1 │ │ ├── amplify.core.min.js │ │ ├── amplify.min.js │ │ ├── amplify.request.min.js │ │ ├── amplify.store.min.js │ │ ├── readme.txt │ │ └── src │ │ ├── GPL-LICENSE.txt │ │ ├── MIT-LICENSE.txt │ │ ├── core │ │ ├── amplify.core.js │ │ └── readme.markdown │ │ ├── external │ │ ├── jquery-1.4.1.js │ │ ├── jquery-1.4.2.js │ │ ├── jquery-1.4.3.js │ │ ├── jquery-1.4.4.js │ │ ├── jquery-1.4.js │ │ ├── jquery-1.5.js │ │ ├── jquery.jsoncookie.js │ │ ├── json2.js │ │ ├── qunit.css │ │ └── qunit.js │ │ ├── readme.markdown │ │ ├── request │ │ ├── amplify.request.js │ │ └── readme.markdown │ │ └── store │ │ ├── amplify.store.js │ │ └── readme.markdown ├── external │ ├── async.js │ ├── form2object.js │ ├── formToWizard.js │ ├── jqplot │ │ ├── css │ │ │ └── jquery.jqplot.css │ │ ├── jqplot.pieRenderer.min.js │ │ └── jquery.jqplot.min.js │ ├── jquery-1.6.2.min.js │ ├── jquery-ui-1.8.7.custom.min.js │ ├── jquery.cookie.js │ ├── jquery.cors.js │ ├── jquery.dataTables.js │ ├── jquery.dataset.js │ ├── jquery.dependClass.js │ ├── jquery.fileupload.js │ ├── jquery.hoverIntent.minified.js │ ├── jquery.isObject.js │ ├── jquery.jscrollpane.min.js │ ├── jquery.jsoncookie.js │ ├── jquery.masonry.min.js │ ├── jquery.mockjax.js │ ├── jquery.mousewheel.js │ ├── jquery.slider.js │ ├── jquery.switch.js │ ├── jquery.tmpl.js │ ├── jquery.tmplPlus.js │ ├── jquery.tools.min.js │ ├── jquery.tooltip.js │ ├── json2.js │ ├── jstz.min.js │ ├── jwt-decode.min.js │ ├── lab.js │ ├── md5_generator.js │ ├── mock.js │ ├── mwheelIntent.js │ ├── niceforms.js │ ├── phone │ │ ├── css │ │ │ ├── ctxSip.css │ │ │ └── ctxSip.less │ │ ├── index.html │ │ ├── scripts │ │ │ ├── SIP.js │ │ │ │ ├── sip-0.6.2.js │ │ │ │ ├── sip-0.6.2.min.js │ │ │ │ ├── sip.js │ │ │ │ └── sip.min.js │ │ │ ├── app.js │ │ │ ├── config-sample.js │ │ │ ├── config.js │ │ │ └── moment.js │ │ │ │ └── moment.min.js │ │ └── sounds │ │ │ ├── dtmf.mp3 │ │ │ ├── incoming.mp3 │ │ │ └── outgoing.mp3 │ ├── plugins │ │ └── sort.js │ ├── qunit.css │ ├── qunit.js │ ├── tmpl │ │ ├── jquery.tmpl.js │ │ ├── jquery.tmpl.min.js │ │ ├── jquery.tmplPlus.js │ │ └── jquery.tmplPlus.min.js │ ├── ui-listpanel │ │ ├── css │ │ │ ├── jquery.jscrollpane.css │ │ │ └── ui.listpanel.css │ │ ├── images │ │ │ ├── account_arrow.png │ │ │ ├── new_search.png │ │ │ ├── plus_btn.png │ │ │ ├── scrollCap_bot.jpg │ │ │ ├── scrollCap_top.jpg │ │ │ ├── scroll_drag.jpg │ │ │ ├── scroll_mid.jpg │ │ │ ├── search_left.png │ │ │ ├── search_mid.png │ │ │ └── search_right.png │ │ └── ui.listpanel.js │ └── underscore-min.js ├── tmpl_snippets │ └── forms.html ├── winkstart-request.js ├── winkstart-tables.js ├── winkstart-timezone.js ├── winkstart-util.js ├── winkstart-validate.js └── winkstart.js ├── lib ├── bootstrap │ ├── LICENSE │ ├── css │ │ ├── bootstrap.css │ │ └── bootstrap.min.css │ ├── js │ │ ├── bootstrap-alerts.js │ │ ├── bootstrap-buttons.js │ │ ├── bootstrap-dropdown.js │ │ ├── bootstrap-modal.js │ │ ├── bootstrap-popover.js │ │ ├── bootstrap-scrollspy.js │ │ ├── bootstrap-tabs.js │ │ └── bootstrap-twipsy.js │ └── lib │ │ ├── bootstrap.less │ │ ├── forms.less │ │ ├── menus.less │ │ ├── mixins.less │ │ ├── patterns.less │ │ ├── reset.less │ │ ├── scaffolding.less │ │ ├── tables.less │ │ ├── type.less │ │ └── variables.less └── less │ └── js │ └── less-1.1.6.min.js ├── package-lock.json ├── package.json ├── scripts └── compile.sh └── whapps ├── accounts ├── accounts.js └── accounts_manager │ ├── accounts_manager.js │ ├── css │ └── accounts_manager.css │ ├── lang │ ├── en.js │ ├── nl.js │ ├── ru.js │ └── zh.js │ └── tmpl │ ├── accounts_manager.html │ ├── credits.html │ ├── edit.html │ └── switch.html ├── auth ├── auth.js ├── auth │ ├── css │ │ ├── auth.css │ │ ├── auth_ru.css │ │ └── img │ │ │ ├── signup_button.png │ │ │ └── signup_button_hover.png │ ├── lang │ │ ├── en.js │ │ ├── nl.js │ │ ├── ru.js │ │ └── zh.js │ └── tmpl │ │ ├── activate.html │ │ ├── code.html │ │ ├── example_external_login.html │ │ ├── landing.html │ │ ├── login.html │ │ ├── new_login.html │ │ ├── new_password.html │ │ ├── recover_password.html │ │ └── register.html └── onboarding │ ├── css │ ├── img │ │ ├── back.png │ │ ├── back_hover.png │ │ ├── btn_search.png │ │ ├── btn_search_hover.png │ │ ├── credit_cards.png │ │ ├── help_account.png │ │ ├── help_card.png │ │ ├── help_cvv.png │ │ ├── help_e911.png │ │ ├── help_extensions.png │ │ ├── next.png │ │ ├── next_hover.png │ │ ├── onboarding_title_bg.jpg │ │ ├── roles │ │ │ ├── api_developer.png │ │ │ ├── reseller.png │ │ │ ├── single_phone.png │ │ │ ├── small_office.png │ │ │ └── voip_minutes.png │ │ ├── steps.png │ │ ├── submit.png │ │ └── submit_hover.png │ ├── onboarding.css │ └── onboardingWorking.bak │ ├── lang │ ├── en.js │ ├── nl.js │ ├── ru.js │ └── zh.js │ ├── onboarding.js │ └── tmpl │ ├── api_developer.html │ ├── onboarding.html │ ├── reseller.html │ ├── single_phone.html │ ├── small_office.html │ ├── step1.html │ ├── step2.html │ ├── step3.html │ └── voip_minutes.html ├── browserphone ├── browserphone.js └── browserphone │ ├── css │ ├── credentials_popup.css │ └── images │ │ └── note.png │ └── tmpl │ └── credentials_popup.html ├── call_center ├── call_center.js ├── dashboard │ ├── css │ │ ├── dashboard.css │ │ └── images │ │ │ └── Gauge.png │ ├── dashboard.js │ ├── lang │ │ ├── en.js │ │ ├── nl.js │ │ ├── ru.js │ │ └── zh.js │ └── tmpl │ │ ├── agents_dashboard.html │ │ ├── call_list_element.html │ │ ├── calls_dashboard.html │ │ ├── dashboard.html │ │ ├── list_devices.html │ │ └── queues_dashboard.html └── queue │ ├── css │ └── queue.css │ ├── lang │ ├── en.js │ ├── nl.js │ ├── ru.js │ └── zh.js │ ├── queue.js │ └── tmpl │ ├── account_fields.html │ ├── add_agents.html │ ├── agent_pause_callflow.html │ ├── agent_presence_callflow.html │ ├── available_user.html │ ├── edit.html │ ├── edit_agents.html │ ├── queue.html │ ├── queue_callflow.html │ ├── selected_agent.html │ └── user_row.html ├── core ├── core.js ├── layout │ ├── css │ │ ├── icons.css │ │ ├── jquery.jscrollpane.css │ │ ├── jquery.override.css │ │ ├── layout.css │ │ ├── popover.css │ │ ├── popups.css │ │ ├── trunkstore_popups.css │ │ └── whapp.css │ ├── images │ │ ├── account_arrow.png │ │ ├── account_icon.png │ │ ├── activecalls_icon.png │ │ ├── background.jpg │ │ ├── background_old.jpg │ │ ├── bg.jpg │ │ ├── button_bg.png │ │ ├── confirm.png │ │ ├── download_icon.png │ │ ├── error.png │ │ ├── error_icon.png │ │ ├── form │ │ │ ├── 0.png │ │ │ ├── btn_fileUpload.png │ │ │ ├── btn_tag.jpg │ │ │ ├── button-left.png │ │ │ ├── button-right.png │ │ │ ├── button.png │ │ │ ├── checkbox.png │ │ │ ├── dropdown.blue.active.png │ │ │ ├── dropdown.blue.hover.png │ │ │ ├── dropdown.blue.png │ │ │ ├── dropdown.gif │ │ │ ├── dropdown.jpg │ │ │ ├── dropdown_active.gif │ │ │ ├── dropdown_hover.gif │ │ │ ├── file.png │ │ │ ├── h30.png │ │ │ ├── help_gr.png │ │ │ ├── input-left.png │ │ │ ├── input-right.png │ │ │ ├── input.png │ │ │ ├── invalid.png │ │ │ ├── nicole │ │ │ ├── radio.png │ │ │ ├── rdarrow_dark.png │ │ │ ├── rdarrow_down.png │ │ │ ├── rdarrow_left.png │ │ │ ├── rdarrow_right.png │ │ │ ├── rdarrow_up.png │ │ │ ├── search.png │ │ │ ├── select-left.png │ │ │ ├── select-right.png │ │ │ ├── slider_handle.jpg │ │ │ ├── sqarrow_left.png │ │ │ ├── sqarrow_right.png │ │ │ ├── submit_btn.png │ │ │ ├── textarea-bl.png │ │ │ ├── textarea-br.png │ │ │ ├── textarea-l-off.png │ │ │ ├── textarea-l-over.png │ │ │ ├── textarea-r-off.png │ │ │ ├── textarea-r-over.png │ │ │ ├── textarea-tl.png │ │ │ └── textarea-tr.png │ │ ├── help_icon.png │ │ ├── help_icon2.png │ │ ├── icon_chrome.png │ │ ├── icon_firefox.png │ │ ├── icon_opera.png │ │ ├── icon_safari.png │ │ ├── icons │ │ │ ├── icons_24x24_blue.png │ │ │ ├── icons_24x24_gradient.png │ │ │ ├── icons_24x24_red.png │ │ │ ├── icons_32x32_blue.png │ │ │ ├── icons_32x32_darkgrey.png │ │ │ ├── icons_32x32_gradient.png │ │ │ ├── icons_32x32_green.png │ │ │ ├── icons_32x32_lightgrey.png │ │ │ ├── icons_32x32_red.png │ │ │ ├── icons_32x32_white.png │ │ │ └── icons_32x32_yellow.png │ │ ├── inactivecall_icon.png │ │ ├── info.png │ │ ├── loading.gif │ │ ├── loading2.gif │ │ ├── logo.jpg │ │ ├── logout_icon.png │ │ ├── main_nav_bg.jpg │ │ ├── main_nav_bg_old.jpg │ │ ├── message_icon.png │ │ ├── nav_bullet.jpg │ │ ├── nav_bullet.png │ │ ├── nav_line.jpg │ │ ├── nav_line_horizontal.jpg │ │ ├── note.png │ │ ├── old_logo.jpg │ │ ├── plus_btn.png │ │ ├── question_mark.png │ │ ├── regular_btn.png │ │ ├── scrollCap_bot.jpg │ │ ├── scrollCap_top.jpg │ │ ├── scroll_drag.jpg │ │ ├── scroll_mid.jpg │ │ ├── search_left.png │ │ ├── search_mid.png │ │ ├── search_right.png │ │ ├── status_box.png │ │ ├── subnav_bg.jpg │ │ ├── tabs │ │ │ ├── advacnce_settings_box.png │ │ │ ├── settings_tabs.png │ │ │ └── triangle.gif │ │ ├── view_detail_btn.png │ │ ├── voicemail_icon.png │ │ └── warning.png │ ├── lang │ │ ├── en.js │ │ ├── nl.js │ │ ├── ru.js │ │ └── zh.js │ ├── layout.js │ └── tmpl │ │ ├── datalist.html │ │ ├── layout.html │ │ ├── layout_welcome.html │ │ └── not_supported_browsers.html ├── linknav │ ├── css │ │ └── linknav.css │ ├── img │ │ └── nav_line.jpg │ ├── lang │ │ ├── en.js │ │ ├── nl.js │ │ ├── ru.js │ │ └── zh.js │ ├── linknav.js │ └── tmpl │ │ ├── category.html │ │ ├── link.html │ │ ├── link_divider.html │ │ ├── sublink.html │ │ └── sublink_divider.html └── whappnav │ ├── css │ └── whappnav.css │ ├── img │ └── nav_line.jpg │ ├── lang │ ├── en.js │ ├── nl.js │ ├── ru.js │ └── zh.js │ ├── tmpl │ ├── category.html │ ├── module.html │ ├── module_divider.html │ ├── whapp.html │ └── whapp_divider.html │ └── whappnav.js ├── developer ├── api │ ├── api.js │ ├── css │ │ └── api.css │ ├── lang │ │ ├── en.js │ │ ├── nl.js │ │ ├── ru.js │ │ └── zh.js │ └── tmpl │ │ ├── api.html │ │ ├── form.html │ │ ├── info_popup.html │ │ ├── input_id.html │ │ └── schema.html └── developer.js ├── myaccount ├── app_store │ ├── app_store.js │ ├── css │ │ └── app_store.css │ ├── images │ │ ├── AccountManager.png │ │ ├── AppTitle_BG.png │ │ ├── CallDebugger.png │ │ ├── Click-to-Call.png │ │ ├── CloudManager.png │ │ ├── Conferencing.png │ │ ├── DevelopersTool.png │ │ ├── FaxTools.png │ │ ├── HostedPBX.png │ │ ├── Monitoring.png │ │ ├── NumberManager.png │ │ ├── PBXConnector.png │ │ ├── Pivot.png │ │ ├── Provisioning.png │ │ ├── UserPortal.png │ │ └── WebHooks.png │ ├── lang │ │ ├── en.js │ │ ├── nl.js │ │ ├── ru.js │ │ └── zh.js │ └── tmpl │ │ ├── apikey.html │ │ └── app_store.html ├── billing │ ├── billing.js │ ├── css │ │ └── billing.css │ ├── img │ │ ├── amex.png │ │ ├── discover.png │ │ ├── mastercard.png │ │ └── visa.png │ ├── lang │ │ ├── en.js │ │ ├── nl.js │ │ ├── ru.js │ │ └── zh.js │ └── tmpl │ │ └── billing.html ├── credits │ ├── credits.js │ ├── css │ │ ├── credits.css │ │ └── images │ │ │ └── small_infinity_sign.png │ ├── lang │ │ ├── en.js │ │ ├── nl.js │ │ ├── ru.js │ │ └── zh.js │ └── tmpl │ │ ├── credits.html │ │ └── stat_credits.html ├── myaccount.js ├── myaccount │ ├── css │ │ ├── popups.css │ │ └── style.css │ ├── images │ │ ├── regular_btn.png │ │ └── settings_tabs.png │ ├── lang │ │ ├── en.js │ │ ├── nl.js │ │ ├── ru.js │ │ └── zh.js │ └── tmpl │ │ ├── link_divider.html │ │ ├── myaccount.html │ │ ├── tab_module.html │ │ └── userlevel.html ├── nav │ ├── css │ │ └── style.css │ ├── img │ │ ├── help_btn.png │ │ └── help_btn_hover.png │ ├── lang │ │ ├── en.js │ │ ├── nl.js │ │ ├── ru.js │ │ └── zh.js │ ├── nav.js │ └── tmpl │ │ ├── help.html │ │ └── myaccount_navbar.html ├── personal_info │ ├── css │ │ └── personal_info.css │ ├── lang │ │ ├── en.js │ │ ├── nl.js │ │ ├── ru.js │ │ └── zh.js │ ├── personal_info.js │ └── tmpl │ │ └── personal_info.html ├── report │ ├── css │ │ └── report.css │ ├── lang │ │ ├── en.js │ │ ├── nl.js │ │ ├── ru.js │ │ └── zh.js │ ├── report.js │ └── tmpl │ │ └── report.html └── statistics │ ├── css │ └── statistics.css │ ├── lang │ ├── en.js │ ├── nl.js │ ├── ru.js │ └── zh.js │ ├── statistics.js │ └── tmpl │ ├── stat.html │ └── statistics.html ├── numbers ├── numbers.js └── numbers_manager │ ├── css │ ├── images │ │ ├── bill.jpg │ │ ├── btn_search.png │ │ ├── btn_search_hover.png │ │ ├── cid_phone.jpg │ │ ├── e911_image.png │ │ ├── failover_e164.png │ │ ├── failover_header.png │ │ ├── failover_sip.png │ │ ├── next_step.png │ │ ├── next_step_hover.png │ │ ├── note.png │ │ ├── prev_step.png │ │ └── prev_step_hover.png │ ├── numbers_manager.css │ └── numbers_popup.css │ ├── lang │ ├── en.js │ ├── nl.js │ ├── ru.js │ └── zh.js │ ├── numbers_manager.js │ └── tmpl │ ├── add_number_dialog.html │ ├── add_number_search_results.html │ ├── cnam_dialog.html │ ├── e911_dialog.html │ ├── fields.html │ ├── freeform_number_dialog.html │ ├── numbers_manager.html │ └── port_dialog.html ├── pbxs ├── pbxs.js └── pbxs_manager │ ├── css │ ├── endpoints.css │ ├── images │ │ ├── bill.jpg │ │ ├── btn_search.png │ │ ├── btn_search_hover.png │ │ ├── cid_phone.jpg │ │ ├── e911_image.png │ │ ├── endpoints │ │ │ ├── allworks.png │ │ │ ├── altigen.png │ │ │ ├── asterisk.png │ │ │ ├── avaya.png │ │ │ ├── bluebox.png │ │ │ ├── cisco.png │ │ │ ├── digium.png │ │ │ ├── epygi.png │ │ │ ├── freepbx.png │ │ │ ├── freeswitch.png │ │ │ ├── mitel.png │ │ │ ├── objectworld.png │ │ │ ├── other.png │ │ │ ├── pingtel.png │ │ │ ├── responsepoint.png │ │ │ ├── samsung.png │ │ │ ├── shoretel.png │ │ │ ├── sutus.png │ │ │ ├── talkswitch.png │ │ │ ├── taridium.png │ │ │ └── threecom.png │ │ ├── failover_e164.png │ │ ├── failover_header.png │ │ ├── failover_sip.png │ │ ├── next_step.png │ │ ├── next_step_hover.png │ │ ├── note.png │ │ ├── prev_step.png │ │ └── prev_step_hover.png │ ├── numbers_popup.css │ ├── numbers_popup_ru.css │ └── pbxs_manager.css │ ├── lang │ ├── en.js │ ├── nl.js │ ├── ru.js │ └── zh.js │ ├── pbxs_manager.js │ └── tmpl │ ├── add_number_dialog.html │ ├── add_number_search_results.html │ ├── assign_number_dialog.html │ ├── cnam_dialog.html │ ├── e911_dialog.html │ ├── endpoint.html │ ├── endpoint_numbers.html │ ├── failover_dialog.html │ ├── move_number_dialog.html │ ├── pbxs_manager.html │ └── port_dialog.html ├── skeleton ├── skeleton.js ├── skeleton │ ├── css │ │ └── skeleton.css │ └── tmpl │ │ └── skeleton.html └── sub_module │ ├── css │ └── sub_module.css │ ├── sub_module.js │ └── tmpl │ └── sub_module.html ├── userportal ├── portal_manager │ ├── assets │ │ └── flash │ │ │ └── xspf_player.swf │ ├── css │ │ ├── images │ │ │ └── edit_icon.png │ │ └── portal_manager.css │ ├── lang │ │ ├── en.js │ │ ├── nl.js │ │ ├── ru.js │ │ └── zh.js │ ├── portal_manager.js │ └── tmpl │ │ ├── device_line.html │ │ ├── portal_manager.html │ │ └── transcription.html └── userportal.js └── voip ├── account ├── account.js ├── css │ └── account.css ├── lang │ ├── en.js │ ├── nl.js │ ├── ru.js │ └── zh.js └── tmpl │ ├── account.html │ ├── addBlacklist.html │ └── edit.html ├── blacklist ├── blacklist.js ├── css │ └── blacklist.css ├── lang │ └── en.js └── tmpl │ ├── addNumber.html │ ├── blacklist.html │ └── edit.html ├── bulk ├── bulk.js ├── css │ └── bulk.css ├── lang │ ├── en.js │ ├── nl.js │ ├── ru.js │ └── zh.js └── tmpl │ └── bulk.html ├── callflow ├── callflow.js ├── css │ ├── callflow.css │ ├── callflow_1.css │ ├── ring_groups.css │ ├── style.css │ └── two_columns.css ├── images │ ├── arrow_active.png │ ├── arrow_category.png │ ├── arrow_inactive.png │ ├── back_icon.png │ ├── background_category.png │ ├── black_bar.png │ ├── black_box.png │ ├── blackbox.png │ ├── blackbox_small.png │ ├── blackbox_tall.png │ ├── blue_bar.png │ ├── btn_delete.png │ ├── btn_delete_blue.png │ ├── callflow_help.gif │ ├── center_arrow.png │ ├── copy_icon.png │ ├── drag_btn.png │ ├── drag_btn_28.png │ ├── edit_icon.png │ ├── empty_ring_group.png │ ├── left_arrow.png │ ├── line_callflow.png │ ├── regular_btn.png │ ├── right_arrow.png │ ├── small_arrow.png │ └── tall_arrow.png ├── lang │ ├── en.js │ ├── nl.js │ ├── ru.js │ └── zh.js └── tmpl │ ├── add_number.html │ ├── branch.html │ ├── buttons.html │ ├── call_record_callflow.html │ ├── callflow.html │ ├── callflow_main.html │ ├── check_cid_callflow.html │ ├── check_cid_child_callflow.html │ ├── disa_callflow.html │ ├── edit_dialog.html │ ├── edit_name.html │ ├── fax_callflow.html │ ├── group_pickup.html │ ├── help_callflow.html │ ├── language_callflow.html │ ├── node.html │ ├── num_row.html │ ├── page_group_dialog.html │ ├── page_group_element.html │ ├── park_callflow.html │ ├── pivot_callflow.html │ ├── prepend_cid_callflow.html │ ├── presence_callflow.html │ ├── response_callflow.html │ ├── ring_group_dialog.html │ ├── ring_group_element.html │ ├── root.html │ ├── routing_variables_callflow.html │ ├── routing_vars_callflow_type.html │ ├── set_cid_callflow.html │ ├── tools.html │ └── two_column.html ├── cdr ├── cdr.js ├── css │ └── cdr.css ├── lang │ ├── en.js │ ├── nl.js │ ├── ru.js │ └── zh.js └── tmpl │ ├── cdr.html │ └── cdr_details.html ├── conference ├── conference.js ├── css │ └── style.css ├── lang │ ├── en.js │ ├── nl.js │ ├── ru.js │ └── zh.js └── tmpl │ ├── conference.html │ ├── conference_callflow.html │ └── edit.html ├── device ├── css │ └── device.css ├── device.js ├── images │ ├── audiostream_btn.png │ ├── blank_btn.png │ ├── gray.png │ ├── green.png │ ├── pricing.png │ ├── record_btn.png │ ├── red.png │ ├── texttospeech_btn.png │ └── uploadfile_btn.png ├── lang │ ├── en.js │ ├── nl.js │ ├── ru.js │ └── zh.js └── tmpl │ ├── cellphone.html │ ├── device.html │ ├── device_callflow.html │ ├── edit.html │ ├── fax.html │ ├── general_edit.html │ ├── landline.html │ ├── mobile.html │ ├── reboot_success.html │ ├── sip_uri.html │ ├── smartphone.html │ └── softphone.html ├── directory ├── css │ └── directory.css ├── directory.js ├── lang │ ├── en.js │ ├── nl.js │ ├── ru.js │ └── zh.js └── tmpl │ ├── directory.html │ ├── directory_callflow.html │ ├── edit.html │ └── user_row.html ├── faxbox ├── css │ └── faxbox.css ├── faxbox.js ├── lang │ ├── en.js │ ├── nl.js │ └── zh.js └── tmpl │ ├── edit.html │ ├── faxbox.html │ └── faxbox_callflow.html ├── featurecode ├── css │ ├── featurecode.css │ └── img │ │ └── feature_codes_bg.jpg ├── featurecode.js ├── lang │ ├── en.js │ ├── nl.js │ ├── ru.js │ └── zh.js └── tmpl │ └── featurecode.html ├── groups ├── css │ └── groups.css ├── groups.js ├── lang │ ├── en.js │ ├── nl.js │ ├── ru.js │ └── zh.js └── tmpl │ ├── edit.html │ ├── endpoint_row.html │ ├── groups.html │ └── groups_callflow.html ├── media ├── assets │ └── flash │ │ └── xspf_player.swf ├── css │ └── media.css ├── lang │ ├── en.js │ ├── nl.js │ ├── ru.js │ └── zh.js ├── media.js └── tmpl │ ├── edit.html │ ├── media.html │ └── media_callflow.html ├── menu ├── css │ └── menu.css ├── lang │ ├── en.js │ ├── nl.js │ ├── ru.js │ └── zh.js ├── menu.js └── tmpl │ ├── edit.html │ ├── menu.html │ ├── menu_callflow.html │ └── menu_key_callflow.html ├── prompt ├── css │ └── prompt.css ├── lang │ └── en.js ├── prompt.js └── tmpl │ ├── add_language.html │ ├── create.html │ ├── dialog_add_language.html │ ├── edit.html │ └── prompt.html ├── queue ├── css │ └── queue.css ├── lang │ ├── en.js │ ├── nl.js │ ├── ru.js │ └── zh.js ├── queue.js └── tmpl │ ├── edit.html │ ├── queue.html │ ├── queue_callflow.html │ └── user_row.html ├── registration ├── css │ └── registration.css ├── lang │ ├── en.js │ ├── nl.js │ ├── ru.js │ └── zh.js ├── registration.js └── tmpl │ ├── detailRegistration.html │ └── registration.html ├── resource ├── css │ ├── images │ │ ├── button.png │ │ ├── button_hover.png │ │ └── button_pressed.png │ └── resource.css ├── lang │ ├── en.js │ ├── nl.js │ ├── ru.js │ └── zh.js ├── resource.js └── tmpl │ ├── account_carrier_callflow.html │ ├── edit.html │ ├── gateway.html │ ├── landing_resource.html │ └── resource.html ├── timeofday ├── css │ └── timeofday.css ├── lang │ ├── en.js │ ├── nl.js │ ├── ru.js │ └── zh.js ├── timeofday.js └── tmpl │ ├── edit.html │ ├── timeofday.html │ ├── timeofday_callflow.html │ ├── timeofday_key_dialog.html │ └── two_column.html ├── user ├── css │ └── user.css ├── lang │ ├── en.js │ ├── nl.js │ ├── ru.js │ └── zh.js ├── tmpl │ ├── add_queue.html │ ├── device_row.html │ ├── edit.html │ ├── user.html │ └── user_callflow.html └── user.js ├── vmbox ├── css │ └── vmbox.css ├── lang │ ├── en.js │ ├── nl.js │ ├── ru.js │ └── zh.js ├── tmpl │ ├── edit.html │ ├── vmbox.html │ └── vmbox_callflow.html └── vmbox.js ├── voip.js └── voip ├── css ├── images │ ├── edit_icon.png │ └── header_bar.png └── voip.css ├── lang ├── en.js ├── nl.js ├── ru.js └── zh.js ├── less ├── popover.less ├── utility.less └── whapp.less └── tmpl └── voip.html /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig is awesome: http://EditorConfig.org 2 | 3 | # top-most EditorConfig file 4 | root = true 5 | 6 | [*] 7 | # Indent_style (tab|space) 8 | indent_style = tab 9 | 10 | # Indentation Size 11 | indent_size = tab 12 | 13 | # Width of a single tabstop character 14 | tab_width = 4 15 | 16 | # Line ending file format (lf|crlf|cr) 17 | end_of_line = lf 18 | 19 | # File character encoding (latin1|utf-8|utf-16be|utf-16le) 20 | charset = utf-8 21 | 22 | # Denotes whether whitespace is allowed at the end of lines (true|false) 23 | # trim_trailing_whitespace = true 24 | 25 | # Denotes whether file should end with a newline (true|false) 26 | # insert_final_newline = true 27 | 28 | [*.{yml,md}] 29 | indent_style = space 30 | indent_size = 2 31 | tab_width = 2 32 | -------------------------------------------------------------------------------- /.eslintrc.yml: -------------------------------------------------------------------------------- 1 | # Original source from OpenTelecom:ci-linting, mira-t on github 2 | plugins: 3 | - standard 4 | env: 5 | browser: true 6 | jquery: true 7 | 8 | globals: 9 | winkstart: true 10 | form2object: true 11 | _t: true 12 | 13 | rules: 14 | no-tabs: 0 15 | indent: [ "error", "tab", { "SwitchCase": 1 }] 16 | linebreak-style: [ "error", "unix" ] 17 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | 3 | js/external/** -text -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.esproj 2 | *.cache 3 | *.sublime-project 4 | *.sublime-workspace 5 | test/ 6 | nbproject/ 7 | .idea 8 | *.iml 9 | node_modules 10 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "whapps/cluster"] 2 | path = whapps/cluster 3 | url = git@github.com:2600hz/cluster.git 4 | [submodule "whapps/voip/phone"] 5 | path = whapps/voip/phone 6 | url = git@github.com:2600hz/phone.git 7 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kazoo-community/kazoo-ui/d61a9e50a5e4d3bfbfc5b2a707cc6c21ea3afb3d/README -------------------------------------------------------------------------------- /config/css/welcome.css: -------------------------------------------------------------------------------- 1 | #content_welcome_page { 2 | margin: 75px auto auto; 3 | width: 1000px; 4 | } 5 | 6 | #content_welcome_page .left_div { 7 | width: 480px; 8 | padding: 10px 25px 0 0; 9 | float: left; 10 | height: 370px; 11 | } 12 | 13 | #content_welcome_page .left_div .title { 14 | color: #c4db4c; 15 | line-height: 35px; 16 | font-size: 20px; 17 | font-weight: bold; 18 | text-shadow: 1px 1px #333; 19 | padding-bottom: 25px; 20 | text-align: center; 21 | } 22 | 23 | #content_welcome_page .left_div .learn_more { 24 | font-size: 16px; 25 | font-weight: bold; 26 | text-shadow: 1px 1px #333; 27 | text-align: center; 28 | } 29 | 30 | #content_welcome_page .left_div .learn_more > a { 31 | color: #EEEEEE; 32 | } 33 | 34 | #content_welcome_page .left_div .learn_more > a:hover { 35 | color: #05addc; 36 | text-decoration: underline; 37 | } 38 | -------------------------------------------------------------------------------- /config/images/AppStore_welcomePage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kazoo-community/kazoo-ui/d61a9e50a5e4d3bfbfc5b2a707cc6c21ea3afb3d/config/images/AppStore_welcomePage.png -------------------------------------------------------------------------------- /config/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kazoo-community/kazoo-ui/d61a9e50a5e4d3bfbfc5b2a707cc6c21ea3afb3d/config/images/logo.png -------------------------------------------------------------------------------- /config/images/logos/.placeholder: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kazoo-community/kazoo-ui/d61a9e50a5e4d3bfbfc5b2a707cc6c21ea3afb3d/config/images/logos/.placeholder -------------------------------------------------------------------------------- /config/images/map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kazoo-community/kazoo-ui/d61a9e50a5e4d3bfbfc5b2a707cc6c21ea3afb3d/config/images/map.png -------------------------------------------------------------------------------- /config/loadFavicon.js: -------------------------------------------------------------------------------- 1 | var favicon = document.createElement('link'); 2 | favicon.rel = 'icon'; 3 | favicon.id = 'dynamicFavicon'; 4 | favicon.href = winkstart.config.favicon || 'img/wsLogo.png'; 5 | document.getElementsByTagName('head')[0].appendChild(favicon); 6 | 7 | -------------------------------------------------------------------------------- /config/tmpl/left_welcome.html: -------------------------------------------------------------------------------- 1 |
${_t('already_have_an_invitation_code')}
6 |7 | 8 | 9 |
10 |11 | ${_t('if_you_dont_have_an_invitation_code')} ${_t('here')}. 12 |
13 |${_t('api_url')} | 7 |${developer.api_url} | 8 |
${_t('account_id')} | 11 |${developer.account_id} | 12 |
${_t('auth_token')} | 15 |${developer.auth_token} | 16 |
This device will reboot if there are changes to the configuration.
5 | 8 | 9 |