Как использовать 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 вместо этого.