簡體   English   中英

如何在java中發送'SIP請求'(SIP客戶端)

[英]How to send ‘SIP request‘ (SIP client) in java

我正在設置一個新客戶端,並希望使用JAVA發送SIP請求。 我已經遵循了一些步驟但無濟於事。

例如,當從客戶端發送請求時沒有從服務器給出響應...我認為HEADER包含錯誤


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 += "Content-Length: 142";
        Request += "\r\n\r\n";

        socketOutput.print(Request);

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

    }

}

我希望輸出將是服務器的響應,但實際沒有輸出。

你的標題說Content-Length: 142但你沒有發送任何內容 - 請求沒有正文。 所以我認為服務器在響應之前等待142字節的內容到達。 嘗試將內容長度設置為零。

(實際上我認為你發送的是2個字節的內容,因為你最后有一個備用的\\r\\n ,但絕對不是142個字節)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM