Как отправить «SIP-запрос на IP-адрес сервера» в PHP или JAVA? - PullRequest
0 голосов
/ 20 июня 2019

Я настраиваю нового клиента и хочу отправить «SIP-запрос» на ip-адрес сервера в моем приложении. Я много раз пробовал на PHP, JAVA, но потерпел неудачу.

Например, JAVA, при отправке запроса от клиента не выдается ответ от сервера.

import java.io.IOException;
import java.io.PrintStream;
import java.net.Socket;
import java.util.Scanner;

public class Client
{

    public static void main(String args[]) throws IOException
    {
        Socket socket = new Socket("104.207.221.19", 5060);

        Scanner userInput = new Scanner(System.in);
        Scanner socketInput = new Scanner(socket.getInputStream());

        PrintStream socketOutput = new PrintStream(socket.getOutputStream());

        String Request = "";
        Request = "INVITE sip:bob@domain.com SIP/2.0 \r\n";
        Request += "Via: SIP/2.0/UDP nm;received=51.40.80.23 \r\n";
        Request += "From: <sip:nm@nm>;tag=root \r\n";
        Request += "To: <sip:nm2@nm2>;tag=dff4305d81b6facb \r\n";
        Request += "Call-ID: 50000 \r\n";
        Request += "CSeq: 42 OPTIONS \r\n";
        Request += "Content-Type: application/sdp \r\n";
        Request += "\r\n\r\n";

        socketOutput.print(Request);

        while(socketInput.hasNextLine())
            System.out.println(socketInput.nextLine());
    }
}

А в PHP с использованием библиотеки (https://github.com/level7systems/php-sip)), при отправке запроса от клиента на IP-адрес сервера (67.203.100.10), выдано «исключение« PhpSIPException »с сообщением« Не удалось связать 67.203.100.10: 5071 Запрошенный адрес недопустим в его контексте ".

try
{
  $api = new PhpSIP('67.203.100.10');  
  $api->setFrom('sip:john@sip.domain.com');
  $api->setUri('sip:anna@sip.domain.com');
  $api->setBody('Hi, can we meet at 5pm   today?');

  $res = $api->send(); 
  echo "res1: $res\n";

  echo "response: $res\n";
} 
catch (Exception $e) 
{
  echo $e;
}
...