Advertisement
Guest User

Untitled

a guest
Nov 18th, 2019
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.61 KB | None | 0 0
  1. #!/usr/bin/perl
  2.  
  3. use strict;
  4. use warnings;
  5.  
  6. use Getopt::Long qw(:config posix_default bundling);
  7. use Net::SIP;
  8. #Usage
  9.  
  10. sub usage {
  11. print STDERR "ERROR: @_\n" if @_;
  12. print STDERR <<EOS;
  13. usage: $0 [ options ] нет телефона
  14. Воспроизведение файла после того как собеседник берет трубку
  15. Options:
  16. -R|--registrar host[:port] Хост
  17. -S|--send filename Звуковой файл
  18. --username name Логин
  19. --password pass пароль
  20. EOS
  21. exit( @_ ? 1:0 );
  22. }
  23.  
  24.  
  25. my ($file,$registrar,$username,$password);
  26.  
  27. GetOptions(
  28. 'R|registrar=s' => \$registrar,
  29. 'S|send=s' => \$file,
  30. 'username=s' =>\$username,
  31. 'password=s' =>\$password,
  32. ) || usage( "bad option" );
  33. my( $to )=@ARGV;
  34. $to || usage( "нет назначения" );
  35.  
  36. # create new agent
  37.  
  38.  
  39. print "Creating connection\n";
  40. my $ua = Net::SIP::Simple->new(
  41. registrar => $registrar,
  42. domain => $registrar,
  43. from => $username,
  44. auth => [ $username,$password ],
  45.  
  46. );
  47.  
  48. # Register agent
  49.  
  50. $ua->register( expires => 1800 ) # <- Valeur mini chez free
  51.  
  52. || die ( "Не зарегестрирован" . $ua->error );
  53. print "Зарегестрирован
  54. # Переменные.(-)
  55.  
  56. my $rtp_done;
  57. print "Appelle ".$to.'@'.$registrar."\n";
  58. my $call= $ua->invite( $to,
  59. init_media => $ua->rtp( 'send_recv', $file ),
  60. cb_rtp_done => \$rtp_done,
  61. asymetric_rtp => 0,
  62. rtp_param => [ 8, 160, 160/8000, 'PCMA/8000' ],
  63.  
  64. ) ||die "invite failed: ".$ua->error;
  65.  
  66. # Mainloop
  67.  
  68. $ua->loop( \$rtp_done );
  69. $call->Пока;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement