SIP

Mock 180 Ringing Response

The UA receiving the INVITE is trying to alert the user. This response is used to initiate local ringback tone at the caller's end.

View full reference →

1 HTTP Response

HTTP Response
HTTP/1.1 180 Ringing
Content-Type: application/json
Date: Tue, 25 Feb 2026 12:00:00 GMT

2 Test with curl

terminal
curl -i https://httpbin.org/status/180

3 Return 180 Ringing in Your Framework

django
from django.http import HttpResponse


def my_view(request):
    return HttpResponse(status=180)  # Ringing
flask
from flask import Flask

app = Flask(__name__)


@app.route("/endpoint")
def my_endpoint():
    return "", 180  # Ringing
fastapi
from fastapi import FastAPI
from fastapi.responses import Response

app = FastAPI()


@app.get("/endpoint")
def my_endpoint():
    return Response(status_code=180)  # Ringing
express.js
// Express.js
app.get('/endpoint', (req, res) => {
  res.sendStatus(180); // Ringing
});
spring boot
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

@RestController
public class MyController {

    @GetMapping("/endpoint")
    public ResponseEntity<Void> myEndpoint() {
        return ResponseEntity
            .status(180) // Ringing
            .build();
    }
}
go net/http
package main

import "net/http"

func myHandler(w http.ResponseWriter, r *http.Request) {
    w.WriteHeader(180) // Ringing
}
ruby on rails
class MyController < ApplicationController
  def my_action
    head :ringing
  end
end
asp.net core
// ASP.NET Core Minimal API
app.MapGet("/endpoint", () =>
    Results.StatusCode(180) // Ringing
);

More SIP Mock Pages