Как использовать sippy_cup с аутентификацией passowrd

Я ищу некоторую помощь, как сделать файл сценария sippy_cup.

Я хотел бы сделать вызов по sipp как UAC. Другой программный клиент, подключенный как UAS. Сервер Asterisk обрабатывает соединение между двумя клиентами.

---
source: 192.168.0.18
destination: 192.168.0.18
max_concurrent: 1
calls_per_second: 1
number_of_calls: 1
from_user: C001
to_user: 200
steps:
  - invite
  - wait_for_answer
  - ack_answer
  - register 'C001@192.168.0.18', 'password!'
  - invite
  - wait_for_answer
  - ack_answer
  - sleep 3
  - send_digits '200'
  - sleep 5
  - send_digits '#'
  - wait_for_hangup

Захват пакета не показывает никаких других сообщений после сообщения ACK 401.

Итак, вопрос в том, как ответить на сообщение 401 с помощью sippy_cup?

0 ответов

Я не нашел способа аутентификации, используя файл yml для sippy cup, но я нашел способ сделать это с помощью скрипта ruby, который вызывает библиотеку sippy_cup. Здесь это идет:

require 'sippy_cup'

scenario = SippyCup::Scenario.new 'Sippy Cup',from_user: 'yourusername' do |s|
  s.invite
  s.proxy_auth_required
  s.ack_answer
  s.invite headers: ["[authentication username=yourusername password=yourpassword realm=asterisk]"]
  s.wait_for_answer
  s.ack_answer
  s.sleep 5
  s.send_digits '3125551234'
  s.sleep 5
  s.send_digits '#'
  s.hangup
end

scenario.compile!

Вы можете сохранить это как test.rb, а затем скомпилировать сценарий, выполнив ruby test.rb, Это создаст sippy_cup.xml и sippy_cup.pcap, Затем вы можете запустить сценарий, выполнив:

sudo sipp -sf sippy_cup.xml -l 10 -m 1 -s thenumberyouwanttocallto -i yourlocalip -trace_logs -trace_err -error_file report.log asterisksip

Поскольку с момента вашего сообщения прошло почти год, дайте мне знать, если вы нашли способ использовать файл yml вместо этого.

Другие вопросы по тегам