Networking
SIPp“hello world”消息給 Asterisk
如何對 Asterisk 執行診斷程序?Asterisk 正在執行
tleilax
;並且doge
在同一個網路上(我的網路拓撲不是最佳的)。具體來說,我想做類似的事情:
sipp 345@tleilax.bounceme.net
除了我不確定要發送什麼標誌。如何發送“hello world”到
345@tleilax.bounceme.net
?(請注意,這一切都在我的區域網路上,無法通過網際網路訪問。)
sip.conf:
tleilax:~ # tleilax:~ # cat /etc/asterisk/sip.conf [general] context=trunkinbound ; Default context for incoming calls allowguest=no ; Allow or reject guest calls (default is yes) allowoverlap=no ; Disable overlap dialing support. (Default is yes) ;allowtransfer=no ; Disable all transfers (unless enabled in peers or users) ;realm=mydomain.tld ; Realm for digest authentication bindport=5060 ; UDP Port to bind to (SIP standard port is 5060) bindaddr=0.0.0.0 ; IP address to bind to (0.0.0.0 binds to all) srvlookup=yes ; Enable DNS SRV lookups on outbound calls ;domain=mydomain.tld ; Set default domain for this host ;pedantic=yes ; Enable checking of tags in headers, ;tos_sip=cs3 ; Sets TOS for SIP packets. ;tos_audio=ef ; Sets TOS for RTP audio packets. ;tos_video=af41 ; Sets TOS for RTP video packets. ;maxexpiry=3600 ; Maximum allowed time of incoming registrations ;minexpiry=60 ; Minimum length of registrations/subscriptions (default 60) ;defaultexpiry=120 ; Default length of incoming/outgoing registration ;t1min=100 ; Minimum roundtrip time for messages to monitored hosts ;notifymimetype=text/plain ; Allow overriding of mime type in MWI NOTIFY ;checkmwi=10 ; Default time between mailbox checks for peers ;buggymwi=no ; Cisco SIP firmware doesn't support the MWI RFC ;vmexten=voicemail ; dialplan extension to reach mailbox sets the disallow=all ; First disallow all codecs allow=ulaw ; Allow codecs in order of preference allow=gsm mohinterpret=default mohsuggest=default language=en ; Default language setting for all users/peers relaxdtmf=yes ; Relax dtmf handling trustrpid = no ; If Remote-Party-ID should be trusted sendrpid = yes ; If Remote-Party-ID should be sent progressinband=no ; If we should generate in-band ringing always ;useragent=Asterisk PBX ; Allows you to change the user agent string ;promiscredir = no ; If yes, allows 302 or REDIR to non-local SIP address ;usereqphone = no ; If yes, ";user=phone" is added to uri that contains dtmfmode = rfc2833 ; Set default dtmfmode for sending DTMF. Default: rfc2833 ;compactheaders = yes ; send compact sip headers. videosupport=no ; Turn on support for SIP video. You need to turn this on ;maxcallbitrate=384 ; Maximum bitrate for video calls (default 384 kb/s) callevents=yes ; generate manager events when sip ua ;alwaysauthreject = yes ; When an incoming INVITE or REGISTER is to be rejected, ;g726nonstandard = yes ; If the peer negotiates G726-32 audio, use AAL2 packing ;matchexterniplocally = yes ; Only substitute the externip or externhost setting if it matches ;regcontext=sipregistrations rtptimeout=60 ; Terminate call if 60 seconds of no RTP or RTCP activity ;rtpholdtimeout=300 ; Terminate call if 300 seconds of no RTP or RTCP activity ;rtpkeepalive=<secs> ; Send keepalives in the RTP stream to keep NAT open ;sipdebug = yes ; Turn on SIP debugging by default, from ;recordhistory=yes ; Record SIP history by default ;dumphistory=yes ; Dump SIP history at end of SIP dialogue ;allowsubscribe=no ; Disable support for subscriptions. (Default is yes) ;subscribecontext = default ; Set a specific context for SUBSCRIBE requests notifyringing = yes ; Notify subscriptions on RINGING state (default: no) notifyhold = yes ; Notify subscriptions on HOLD state (default: no) limitonpeers = yes ; Apply call limits on peers only. This will improve ;t38pt_udptl = yes ; Default false ;register => 1234:password@mysipprovider.com ;registertimeout=20 ; retry registration calls every 20 seconds (default) ;registerattempts=10 ; Number of registration attempts before we give up externip = 96.48.128.162 ; Address that we're going to put in outbound SIP ;externhost=test.test.com ; Alternatively you can specify a domain ;externrefresh=10 ; How often to refresh externhost if localnet=192.168.0.0/255.255.0.0; All RFC 1918 addresses are local networks localnet=10.0.0.0/255.0.0.0 ; Also RFC1918 localnet=172.16.0.0/12 ; Another RFC1918 with CIDR notation localnet=169.254.0.0/255.255.0.0 ;Zero conf local network nat=yes ; Global NAT settings (Affects all peers and users) canreinvite=no ; Asterisk by default tries to redirect the ;directrtpsetup=yes ; Enable the new experimental direct RTP setup. This sets up ;rtcachefriends=yes ; Cache realtime friends by adding them to the internal list ;rtsavesysname=yes ; Save systemname in realtime database at registration ;rtupdate=yes ; Send registry updates to database using realtime? (yes|no) ;rtautoclear=yes ; Auto-Expire friends created on the fly on the same schedule ;ignoreregexpire=yes ; Enabling this setting has two functions: ;domain=mydomain.tld,mydomain-incoming ;domain=1.2.3.4 ; Add IP address as local domain ;allowexternaldomains=no ; Disable INVITE and REFER to non-local domains ;autodomain=yes ; Turn this on to have Asterisk add local host ;fromdomain=mydomain.tld ; When making outbound SIP INVITEs to jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of a jbforce = no ; Forces the use of a jitterbuffer on the receive side of a SIP jbmaxsize = 100 ; Max length of the jitterbuffer in milliseconds. jbresyncthreshold = 1000 ; Jump in the frame timestamps over which the jitterbuffer is jbimpl = fixed ; Jitterbuffer implementation, used on the receiving side of a SIP jblog = no ; Enables jitterbuffer frame logging. Defaults to "no". qualify=yes ; By default, qualify all peers at 2000ms limitonpeer = yes ; enable call limit on a per peer basis, different from limitonpeers #include sip-vicidial.conf ; register SIP account on remote machine if using SIP trunks ; register => testSIPtrunk:test@10.10.10.16:5060 ; ; setup account for SIP trunking: ; [SIPtrunk] ; disallow=all ; allow=ulaw ; allow=alaw ; type=friend ; username=testSIPtrunk ; secret=test ; host=10.10.10.16 ; dtmfmode=inband ; qualify=1000 tleilax:~ #
sip-vicidial.conf:
tleilax:~ # tleilax:~ # cat /etc/asterisk/sip-vicidial.conf ; WARNING- THIS FILE IS AUTO-GENERATED BY VICIDIAL, ANY EDITS YOU MAKE WILL BE LOST [101] username=101 secret=password accountcode=101 callerid="" <101> mailbox=101 context=default type=friend host=dynamic [gs102] username=gs102 secret=password accountcode=gs102 callerid="Test Admin Phone" <> mailbox=102 context=default type=friend host=dynamic ; END OF FILE Last Forced System Reload: 2015-02-20 16:49:28 tleilax:~ # tleilax:~ #
西普薩克當地的成功:
thufir@doge:~$ thufir@doge:~$ sudo sipsak -vv -s sip:345@tleilax -m "hi" No SRV record: _sip._tcp.tleilax No SRV record: _sip._udp.tleilax using A record: tleilax Max-Forwards set to 0 message received: SIP/2.0 200 OK Via: SIP/2.0/UDP 127.0.1.1:59012;branch=z9hG4bK.61911e9a;alias;received=192.168.1.3;rport=59012 From: sip:sipsak@127.0.1.1:59012;tag=1c498905 To: sip:345@tleilax;tag=as0e771d06 Call-ID: 474581253@127.0.1.1 CSeq: 1 OPTIONS Server: Asterisk PBX 1.8.29.0-vici Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE Supported: replaces, timer Contact: <sip:192.168.1.2:5060> Accept: application/sdp Content-Length: 0 ** reply received after 0.830 ms ** SIP/2.0 200 OK final received thufir@doge:~$
sipsak失敗;跳數太多:
thufir@doge:~$ thufir@doge:~$ sudo sipsak -vv -s sip:thufir@ekiga.net -m "hi" No SRV record: _sip._tcp.ekiga.net No SRV record: _sip._udp.ekiga.net using A record: ekiga.net Max-Forwards set to 0 message received: SIP/2.0 483 Too Many Hops Via: SIP/2.0/UDP 192.168.1.3:55929;branch=z9hG4bK.3f8863cd;rport=55929;alias;received=96.48.128.162 From: sip:sipsak@127.0.1.1:55929;tag=3feca6b3 To: sip:thufir@ekiga.net;tag=c64e1f832a41ec1c1f4e5673ac5b80f6.2949 Call-ID: 1072473779@127.0.1.1 CSeq: 1 OPTIONS Server: Kamailio (1.5.3-notls (i386/linux)) Content-Length: 0 ** reply received after 155.411 ms ** SIP/2.0 483 Too Many Hops final received thufir@doge:~$
您應該使用您領域中的域,而不是 ekiga
您可以使用
asterisk -r sip set debug on