busy 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/bin/sh
  2. SIP_USERNAME=$1
  3. if [ "${SIP_USERNAME}" == "" ]; then
  4. echo "Missing CLI argument: SIP_USERNAME. Exiting"
  5. exit 1
  6. fi
  7. SIP_SERVER_HOST=${SIP_SERVER_HOST:-asterisk}
  8. SIP_SERVER_PORT=5160
  9. SIP_PASSWORD=${SIP_PASSWORD:-asterisk}
  10. # udp, tcp
  11. SIP_TRANSPORT=${SIP_TRANSPORT:-udp}
  12. # random ports in a range
  13. LOCAL_PORT=$(shuf -i 50001-55999 -n 1)
  14. RTP_PORT=$(shuf -i 56001-59999 -n 1)
  15. # https://stackoverflow.com/questions/48338005/how-to-hang-up-call-in-pjsip-while-its-ringing
  16. pjsua \
  17. --log-level=3 \
  18. --app-log-level=3 \
  19. --no-stderr \
  20. --color \
  21. --light-bg \
  22. --use-cli \
  23. --null-audio \
  24. --snd-auto-close=0 \
  25. --max-calls=15 \
  26. --no-vad \
  27. --use-compact-form \
  28. --reg-timeout=90 \
  29. --rereg-delay=90 \
  30. --use-srtp=0 \
  31. --srtp-secure=0 \
  32. --rtcp-mux \
  33. --use-timer=1 \
  34. --reg-use-proxy=3 \
  35. --auto-update-nat=1 \
  36. --disable-stun \
  37. --local-port=${LOCAL_PORT} \
  38. --rtp-port=${RTP_PORT} \
  39. --realm="*" \
  40. --registrar="sip:${SIP_SERVER_HOST}:${SIP_SERVER_PORT};transport=${SIP_TRANSPORT}" \
  41. --proxy="sip:${SIP_SERVER_HOST}:${SIP_SERVER_PORT};transport=${SIP_TRANSPORT}" \
  42. --outbound="sip:${SIP_SERVER_HOST}:${SIP_SERVER_PORT};transport=${SIP_TRANSPORT}" \
  43. --id="sip:${SIP_USERNAME}@${SIP_SERVER_HOST}:${SIP_SERVER_PORT};transport=${SIP_TRANSPORT}" \
  44. --username="${SIP_USERNAME}" \
  45. --password="${SIP_PASSWORD}" \
  46. --auto-answer=486