За последние 24 часа нас посетили 17857 программистов и 1638 роботов. Сейчас ищут 1110 программистов ...

Модуль SIP на PHP

Тема в разделе "PHP Free-Lance", создана пользователем nig_am, 9 окт 2015.

  1. nig_am

    nig_am Новичок

    С нами с:
    9 окт 2015
    Сообщения:
    2
    Симпатии:
    0
    Мои контакты: nig_am@mail.ru
    оплачу - или на карту(куда поддерживает Сбер) или вебмани.
    2000р.
    Сип аккаунт на мегафоновском мультифоне дам для тестов.

    Необходимо сделать модуль на PHP (возможны варианты)
    который будет делать следующие вещи:
    1.Соединяться как SIP клиент с мегафоновским мультифоном http://multifon.ru/help/
    2.Проходить авторизацию
    3. вызывать абонента по номеру, который модуль получает извне (от меня). ГОЛОСОВОЙ ПОТОК ПОЛУЧАТЬ/ОТПРАВЛЬЯТЬ не надо. Только сигнализацию!
    4. слушать предответное состояние, когда приходит сигнализация
    (SIP/2.0 180 Ringing — Местоположение вызываемого пользователя определено. Ему дается сигнал о входящем вызове.)
    5. при получении этого сигнала СРАЗУ отправлять отмену вызова (Request Cancel)
    оплата только после тестового звонка и сброса.
    пример sip сигнализации тут
    https://code.google.com/p/php-sip/source/browse/trunk/?r=28
    и обсуждается активно здесь
    http://level7systems.co.uk/en/click_to_call_with_php_sip/
    еще раз: мне надо инициировать звонок, получить информацию что на том конце его могут принять (гудки пошли) или нет и сразу сбросить чтоб не платить за
    звонок деньги. и передать мне эту информацию.
    пример у меня нормально не отработал - он сыпется на 403 ошибке - проблемы с авторизацией (wiresnarkom отснифил)
    вот мной модернизированный скрипт,
    тут
    используется логин и пароль для моего действующего аккаунта на мегафоновском мультифоне.
    это мой телефон на который я звоню.

    Код (PHP):
    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    2. <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
    3.  
    4. <head><title>PHP-SIP Click to Call</title></head>
    5.  
    6. <body>
    7.  
    8. <?php if (isset($_POST['from']) && isset($_POST['to'])) : ?>
    9.  
    10.   <?php require_once('PhpSIP.class.php') ?>
    11.  
    12.   <?php $from = $_POST['from']; $to = $_POST['to'] ?>
    13.  
    14.   Trying call from <?php echo $from ?> to <?php echo $to ?> ...<br />
    15.  
    16.   <?php flush() ?>
    17.  
    18.   <pre>
    19.   <?php 
    20.  
    21.     try{
    22.  
    23.      $api = new PhpSIP('172.xxx.xxx.xxx');
    24.       //$api = new PhpSIP();
    25.      
    26.      $api->setDebug(true);
    27.  
    28.       
    29.      
    30.  
    31.  
    32. $api->setUsername('7932==========');
    33. $api->setPassword('*************');
    34.  
    35.  
    36. $api->setMethod('INVITE');
    37.  
    38.  
    39.  
    40. $api->setFrom('sip:7---------@193.201.229.35');
    41. $api->setUri('sip:7932========@193.201.229.35');
    42.  
    43. $res = $api->send();
    44.  
    45.  
    46. echo "res: $resn";
    47.  
    48.  
    49.  
    50.  
    51.  
    52.  
    53.  
    54. if ($res == 200) {
    55. usleep(500000);
    56. $api->setMethod('REFER');
    57. $api->addHeader('Refer-to: sip:7-------------@193.201.229.35');
    58. $api->addHeader('Referred-By: sip:7===========@193.201.229.35');
    59. $api->send();
    60.  
    61. $api->setMethod('BYE');
    62. $api->send();
    63.  
    64. $api->listen('NOTIFY');
    65. $api->reply(481,'Call Leg/Transaction Does Not Exist');
    66. }
    67.  
    68. if ($res == 'No final response in 5 seconds.') {
    69. $api->setMethod('CANCEL');
    70. $res = $api->send();
    71. }
    72.       
    73.       
    74.  
    75.       
    76.  
    77.       echo $res;
    78.  
    79.     } catch (Exception $e) {
    80.  
    81.       echo "Opps... Caught exception:";
    82.       echo $e;
    83.     }
    84.  
    85.   ?>
    86.   </pre>
    87.   <hr />
    88.  
    89.   [url="<?php echo $_SERVER['PHP_SELF']; ?>"]Back[/url]
    90.  
    91. <?php else : ?>
    92.  
    93.   <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
    94.     <fieldset>
    95.       From: <input type="text" name="from" size="25" value="" />
    96.       To: <input type="text" name="to" size="25" value="sip:enum-test@sip.nemox.net" />
    97.       <input type="submit" value="Call" />
    98.     </fieldset>
    99.   </form>
    100.  
    101. <?php endif ?>
    102.  
    103. </body>
    104. </html>
     
  2. nig_am

    nig_am Новичок

    С нами с:
    9 окт 2015
    Сообщения:
    2
    Симпатии:
    0
    всем спасибо. С заданием справился Сергей И. с этого форума. обещанное вознаграждение ушло ему вчера. Тему можно закрыть.
     
  3. Elu-Ok

    Elu-Ok Новичок

    С нами с:
    10 янв 2016
    Сообщения:
    1
    Симпатии:
    0
    Сергей И, с этого форума. Напиши мне в личку, вопрос есть по той же теме )
     
  4. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    интересно. а это законно?
    или их можно привлечь за эти звонки. отвлекают, берешь трудку а там уже тишина. хулиганство.
     
  5. r3l0c

    r3l0c Активный пользователь

    С нами с:
    10 янв 2013
    Сообщения:
    453
    Симпатии:
    4
    Никакого хулиганства там нет).
     
  6. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    они решают свои дела. почему я должен страдать? они меня отвлекают от дел, тратят мое время. делают это массово, не только со мной.
    почти спам.
    они должны быть наказаны.
     
  7. vikrorpert

    vikrorpert Активный пользователь

    С нами с:
    13 окт 2010
    Сообщения:
    984
    Симпатии:
    10
    напиши заяву в полицию, создай гневный пост на яплакал
     
  8. r3l0c

    r3l0c Активный пользователь

    С нами с:
    10 янв 2013
    Сообщения:
    453
    Симпатии:
    4
    Фейспалм)
     
  9. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    твоя вторая фамилия Петросян?
     
  10. r3l0c

    r3l0c Активный пользователь

    С нами с:
    10 янв 2013
    Сообщения:
    453
    Симпатии:
    4
    Я продержался только два три дня, больше не могу. "Женская народная забава-сама придумала, сама обиделась" =D. Функционал, описанный в ТЗ не используется для хулиганства, это проверка правильно ли ввел пользователь свой номер телефона. А флуд звонками-тю, это уже старый бизнес, гугл даст множество ссылок на темы на ачате.
     
  11. Red.Line

    Red.Line Новичок

    С нами с:
    19 янв 2016
    Сообщения:
    1
    Симпатии:
    0
    Готов оплатить решение точно такой же задачи. Мой скайп red.line, спасибо!
     
  12. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    какая разница, старый/новый. флуд есть флуд. это должно наказываться. но всем пох.
     
  13. r3l0c

    r3l0c Активный пользователь

    С нами с:
    10 янв 2013
    Сообщения:
    453
    Симпатии:
    4
    Просто у ребят с отдела К есть задачи и посерьезнее. А этим чаще всего школота занимается, че с них взять?). Даже половина хозяинов ddos сервисов-школота. К ним просто домой приходят ребята и говорят что это не хорошо, ессно школяр в перепуге и ахе, перестает такими жесткачами заниматься, но ребята свое дело сделали. тип один 6 лет вымогательством занимался, ломал сайты, требовал бабло за исправление уязвимости, если коммерц-бык, тогда на сайт заливается порно, и ничего, пришли к нему ребята с фсб прямо в квартиру, и поговорили. С тех пор он только кодит), ну и типо безопасник). А садят если ты с карточки деньги увел), редко сажают за всякие флуды и ддосы тк хватает просто придти в гости на чай-чел сразу становится шелковым).
     
  14. melkov

    melkov Новичок

    С нами с:
    8 авг 2017
    Сообщения:
    1
    Симпатии:
    0
    Тоже надо реализовать такое, но не с мегафоном, а через другой сервис. За деньги. Кто-то поможет? почта anton(dog)melkov.xyz
     
  15. VestyLtd

    VestyLtd Новичок

    С нами с:
    17 янв 2018
    Сообщения:
    1
    Симпатии:
    0
    Всем привет.
    Такая же задача, пишем свою CRM, необходим дозвон до клиентов.
    Готов оплатить пример.
    domname[ собака ]mail.ru