Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 27.10.2012
Сообщений: 38
1

Форма звонка для asterisk

08.11.2018, 17:58. Показов 1056. Ответов 1

Author24 — интернет-сервис помощи студентам
Добрый день.
Есть для freebpx модуль Web Callback - https://www.freepbx.org/web-callback/
Он генерит форму обратного звонка для вставки на сайт в виде фрейма..
HTML5
1
<iframe src="https://site.ru/wcb.php?i=1" frameborder="0" scrolling="no"></iframe>
https://site.ru/wcb.php?i=1 выглядит так
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<style type="text/css">
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video, input {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
    font-size: 12pt;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
#link, #link a:visited{
    color: #ccc;
    font-size: 10px;
    font-family:Helvetica, sans-serif;
    margin-left: 15px;
}
#link > a {
    color: #ccc;
    text-decoration: none
}
#frame {
    background-image: url('/admin/modules/webcallback/assets/images/c2c-blue.png');
    background-repeat: no-repeat;
    background-size: 200px;
    height: 65px;
    cursor: pointer;
    cursor: hand;
}
#webcallbackinput {
    position: relative;
    left: 69px;
    top: 34px;
    width: 121px;
    outline: 0;
    height: 17px;
    padding: 1px;
}
</style>
<div id="frame">
    <input type="text" name="num" placeholder="enter number here" id="webcallbackinput" value="">
    <input type="hidden" id="dest" value="site.ru/wcb.php">
    <input type="hidden" id="i" value="1">
</div>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $('#frame').click(function(e){
        if($(e.target).attr("id") == "webcallbackinput") {
            return;
        }
        //ensure we have a value before posting
        if ($('#webcallbackinput').val()) {
            var but = $(this);
            $.ajax({
                url: $('#dest').val(),
                type: 'post',
                data: {p: $('#webcallbackinput').val(), i: $('#i').val()},
                cache: false,
                success: function(data, b, c) {
                    data = $.parseJSON(data);
                    console.log(data)
                    switch (data.Response) {
                        case 'Error':
                            switch (data.Message) {
                                case 'Originate failed':
                                    alert('Invalid Message');
                                    break;
                                default:
                                    alert(data.Message);
                                    break;
                            }
                            break;
                        case 'Success':
                            alert('Valid Message')
                            break;
                        default:
                            break;
                    }
                },
                error: function(a, b, c) {
                    console.log(a, b, c);
                    alert('Invalid Message');
                }
            })
        }
    })
});
</script>
Чтобы сделать форму более гибкой для вставки в сайты почистил её от ненужных стилей, добавил кнопку submit получилось обычное поле ввода к кнопкой "позвони мне"
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<div id="frame">
    <input type="tel" maxlength="11" placeholder="79999998877" id="webcallbackinput" value="">
    <input type="hidden" id="dest" value="site.ru/wcb.php">
    <input type="hidden" id="i" value="1">
    <input type="submit" value="Позвоните мне!">
</div>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $('#frame').click(function(e){
        if($(e.target).attr("id") == "webcallbackinput") {
            return;
        }
        //ensure we have a value before posting
        if ($('#webcallbackinput').val()) {
            var but = $(this);
            $.ajax({
                url: $('#dest').val(),
                type: 'post',
                dataType: "jsonp",
                data: {p: $('#webcallbackinput').val(), i: $('#i').val()},
                cache: false,
                success: function(data, b, c) {
                    data = $.parseJSON(data);
                    console.log(data)
                    switch (data.Response) {
                        case 'Error':
                            switch (data.Message) {
                                case 'Originate failed':
                                    alert('Invalid Message');
                                    break;
                                default:
                                    alert(data.Message);
                                    break;
                            }
                            break;
                        case 'Success':
                            alert('Valid Message')
                            break;
                        default:
                            break;
                    }
                },
                error: function(a, b, c) {
                    console.log(a, b, c);
                    alert('Invalid Message');
                }
            })
        }
    })
});
</script>
Работает форма как надо (то есть звонок проходит) кроме одного - вместо сообщения "Valid Message" выскакивает сообщение Invalid Message ..
Что и где я забыл сделать, чтобы уведомления, соответствовали происходящему на сервере?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.11.2018, 17:58
Ответы с готовыми решениями:

Обработка очереди и перевод звонка Asterisk
Добрый день, второй день мучаю asterisk с очередями. Опишу ситуацию, есть 5 операторов и...

Форма обратного звонка для Джумла 1.6
Всем привет. На будущем сайте (джумла 1.6) нужно сделать форму обратного звонка, как на сайте...

Asterisk сброс внутреннего звонка после 4ёх гудков с сообщением
Гуру asterisk взываю к вашей помощи. Проблема заключается в сбросе звонка при до звоне на...

форма обратного звонка!
Здравствуйте форумчане, нужен совет, создаю онлайн магазин. посоветуйте хороший плагин, формы...

1
0 / 0 / 0
Регистрация: 27.10.2012
Сообщений: 38
26.12.2019, 10:40  [ТС] 2
Вопрос решился созданием файла .htaccess со следующим кодом
Код
<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
	Header always set Access-Control-Allow-Headers "*"
</IfModule>
0
26.12.2019, 10:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.12.2019, 10:40
Помогаю со студенческими работами здесь

Форма обратного звонка
Всем привет! Вопрос к профессионалам. Подскажите, где можно подробно почитать как реализовать на...

Форма обратного звонка
Добрый день на сайте установлена форма ОБРАТНОГО ЗВОНКА в index.html помойму она выглядет так: ...

Определить, придёт ли ученик раньше звонка, после звонка или во время
Ребят, помогите мне разобраться написать данную программу: Расстояние от дома до школы Sкм. До...

Asterisk и Asterisk PBX это одно и то же?
Asterisk и Asterisk PBX это одно и то же? Смотрю в инете материалы и не знаю что должен я изучать,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru