I am trying to muddle my way tthrough getting something - actually anything to work - with Asterisk. I've acquired a Grandstream phone and I've got * on a Red Hat 9 box. I've gotten to a point where I can see (via ethereal) that the phone REGISTER's successfully with asterisk, and then I try to dial into voicemail. This is what I observe in the packet trace... GS: INVITE -> * *: Status 100 (Trying) -> GS *: Status 200 (OK with session description) -> GS So far, seems reasonable - but I'm a complete novice with this protocol. Then I see a huge stream of UDP packets sent by * to the GS on port 5004, but the GS only replies with an ICMP destination unreachable to each packet. I'm guessing that this is an RTP audio stream, but I don't know why the GS is not ready or otherwise unwilling to receive the packets. Examining the GS config, I've confirmed that the "local RTP port" is set to 5004. I have many questions about how this should work, but I'll save some bandwidth and leave it to someone here to suggest what should be checked next. Thanks. -- Bill Michaelson - COS, Incorporated - Software Development - bill@cosi.com Thanks for putting up with my spam filter!
Please include your sip.conf and extension.conf files. Hard to say what is wrong without seeing the configuration ----- Original Message ----- From: "Bill Michaelson" <bill@cosi.com> To: <asterisk-users@lists.digium.com> Sent: Monday, February 09, 2004 3:15 PM Subject: [Asterisk-Users] asterisk-grandstream call> I am trying to muddle my way tthrough getting something - actually > anything to work - with Asterisk. I've acquired a Grandstream phone and > I've got * on a Red Hat 9 box. I've gotten to a point where I can see > (via ethereal) that the phone REGISTER's successfully with asterisk, and > then I try to dial into voicemail. This is what I observe in the packet > trace... > > GS: INVITE -> * > *: Status 100 (Trying) -> GS > *: Status 200 (OK with session description) -> GS > > So far, seems reasonable - but I'm a complete novice with this protocol. > > Then I see a huge stream of UDP packets sent by * to the GS on port > 5004, but the GS only replies with an ICMP destination unreachable to > each packet. I'm guessing that this is an RTP audio stream, but I don't > know why the GS is not ready or otherwise unwilling to receive the > packets. Examining the GS config, I've confirmed that the "local RTP > port" is set to 5004. > > I have many questions about how this should work, but I'll save some > bandwidth and leave it to someone here to suggest what should be checked > next. > > Thanks. > > -- > Bill Michaelson - COS, Incorporated - Software Development - bill@cosi.com > Thanks for putting up with my spam filter! > > > _______________________________________________ > Asterisk-Users mailing list > Asterisk-Users@lists.digium.com > http://lists.digium.com/mailman/listinfo/asterisk-users > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users >
Right - OK - sans comments for brevity: sip.conf: [general] port = 5060 ; Port to bind to bindaddr = 0.0.0.0 ; Address to bind to context = default ; Default for incoming calls [248379] username=billdesk type=friend host=dynamic canreinvite=no mailbox=1234 context=demo extensions.conf: [general] static=yes writeprotect=no [globals] CONSOLE=Console/dsp ; Console interface for demo IAXINFO=guest ; IAXtel username/password TRUNK=Zap/g2 ; Trunk interface TRUNKMSD=1 ; MSD digits to strip (usually 1 or 0) [iaxtel700] exten => _91700NXXXXXX,1,Dial(IAX2/${IAXINFO}@iaxtel.com/${EXTEN:1}@iaxtel) [iaxprovider] [trunkint] exten => _9011.,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _9011.,2,Congestion [trunkld] exten => _91NXXNXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _91NXXNXXXXXX,2,Congestion [trunklocal] exten => _9NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _9NXXXXXX,2,Congestion [trunktollfree] exten => _91800NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _91800NXXXXXX,2,Congestion exten => _91888NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _91888NXXXXXX,2,Congestion exten => _91877NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _91877NXXXXXX,2,Congestion exten => _91866NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _91866NXXXXXX,2,Congestion [international] ignorepat => 9 include => longdistance include => trunkint [longdistance] ignorepat => 9 include => local include => trunkld [local] ignorepat => 9 include => default include => parkedcalls include => trunklocal include => iaxtel700 include => trunktollfree include => iaxprovider [macro-stdexten]; exten => s,1,Dial(${ARG2},20) ; Ring the interface, 20 seconds maximum exten => s,2,Voicemail(u${ARG1}) ; If unavailable, send to voicemail w/ u\ navail announce exten => s,3,Goto(default,s,1) ; If they press #, return to start exten => s,102,Voicemail(b${ARG1}) ; If busy, send to voicemail w/ busy \ announce exten => s,103,Goto(default,s,1) ; If they press #, return to start [demo] exten => s,1,Wait,1 ; Wait a second, just for fun exten => s,2,Answer ; Answer the line exten => s,3,DigitTimeout,5 ; Set Digit Timeout to 5 seconds exten => s,4,ResponseTimeout,10 ; Set Response Timeout to 10 seconds exten => s,5,BackGround(demo-congrats) ; Play a congratulatory message exten => s,6,BackGround(demo-instruct) ; Play some instructions exten => 2,1,BackGround(demo-moreinfo) ; Give some more information. exten => 2,2,Goto(s,6) exten => 3,1,SetLanguage(fr) ; Set language to french exten => 3,2,Goto(s,5) ; Start with the congratulations exten => 1000,1,Goto(default,s,1) exten => 1234,1,Playback(transfer,skip) ; "Please hold while..." ; (but skip if channel is not up) exten => 1234,2,Macro(stdexten,1234,${CONSOLE}) exten => 1235,1,Voicemail(u1234) ; Right to voicemail exten => 1236,1,Dial(Console/dsp) ; Ring forever exten => 1236,2,Voicemail(u1234) ; Unless busy exten => #,1,Playback(demo-thanks) ; "Thanks for trying the demo" exten => #,2,Hangup ; Hang them up. exten => t,1,Goto(#,1) ; If they take too long, give up exten => i,1,Playback(invalid) ; "That's not valid, try again" exten => 500,1,Playback(demo-abouttotry); Let them know what's going on exten => 500,2,Dial(IAX2/guest@misery.digium.com/s@default) ; Call the Asterisk de\ mo exten => 500,3,Playback(demo-nogo) ; Couldn't connect to the demo site exten => 500,4,Goto(s,6) ; Return to the start over message. exten => 600,1,Playback(demo-echotest) ; Let them know what's going on exten => 600,2,Echo ; Do the echo test exten => 600,3,Playback(demo-echodone) ; Let them know it's over exten => 600,4,Goto(s,6) ; Start over exten => 8500,1,VoicemailMain exten => 8500,2,Goto(s,6) [default] include => demo From: "Glenn Dalgliesh" <asterisk@techhat.com> To: <asterisk-users@lists.digium.com> Subject: Re: [Asterisk-Users] asterisk-grandstream call Date: Mon, 9 Feb 2004 15:27:55 -0500 Reply-To: asterisk-users@lists.digium.com Please include your sip.conf and extension.conf files. Hard to say what is wrong without seeing the configuration ----- Original Message ----- From: "Bill Michaelson" <bill@cosi.com> To: <asterisk-users@lists.digium.com> Sent: Monday, February 09, 2004 3:15 PM Subject: [Asterisk-Users] asterisk-grandstream call>> I am trying to muddle my way tthrough getting something - actually >> anything to work - with Asterisk. I've acquired a Grandstream phone and >> I've got * on a Red Hat 9 box. I've gotten to a point where I can see >> (via ethereal) that the phone REGISTER's successfully with asterisk, and >> then I try to dial into voicemail. This is what I observe in the packet >> trace... >> >> GS: INVITE -> * >> *: Status 100 (Trying) -> GS >> *: Status 200 (OK with session description) -> GS >> >> So far, seems reasonable - but I'm a complete novice with this protocol. >> >> Then I see a huge stream of UDP packets sent by * to the GS on port >> 5004, but the GS only replies with an ICMP destination unreachable to >> each packet. I'm guessing that this is an RTP audio stream, but I don't >> know why the GS is not ready or otherwise unwilling to receive the >> packets. Examining the GS config, I've confirmed that the "local RTP >> port" is set to 5004. >> >> I have many questions about how this should work, but I'll save some >> bandwidth and leave it to someone here to suggest what should be checked >> next. >> >> >
Arg.. my posting was mangled by text-wrapping. Sorry. Here again... sip.conf: [general] port = 5060 ; Port to bind to bindaddr = 0.0.0.0 ; Address to bind to context = default ; Default for incoming calls [248379] username=billdesk type=friend host=dynamic canreinvite=no mailbox=1234 context=demo extensions.conf: [general] static=yes writeprotect=no [globals] CONSOLE=Console/dsp ; Console interface for demo IAXINFO=guest ; IAXtel username/password TRUNK=Zap/g2 ; Trunk interface TRUNKMSD=1 ; MSD digits to strip (usually 1 or 0) [iaxtel700] exten => _91700NXXXXXX,1,Dial(IAX2/${IAXINFO}@iaxtel.com/${EXTEN:1}@iaxtel) [iaxprovider] [trunkint] exten => _9011.,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _9011.,2,Congestion [trunkld] exten => _91NXXNXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _91NXXNXXXXXX,2,Congestion [trunklocal] exten => _9NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _9NXXXXXX,2,Congestion [trunktollfree] exten => _91800NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _91800NXXXXXX,2,Congestion exten => _91888NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _91888NXXXXXX,2,Congestion exten => _91877NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _91877NXXXXXX,2,Congestion exten => _91866NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _91866NXXXXXX,2,Congestion [international] ignorepat => 9 include => longdistance include => trunkint [longdistance] ignorepat => 9 include => local include => trunkld [local] ignorepat => 9 include => default include => parkedcalls include => trunklocal include => iaxtel700 include => trunktollfree include => iaxprovider [macro-stdexten]; exten => s,1,Dial(${ARG2},20) ; Ring the interface, 20 seconds maxi\ mum exten => s,2,Voicemail(u${ARG1}) ; If unavailable, send to voicemail w\ / unavail announce exten => s,3,Goto(default,s,1) ; If they press #, return to start exten => s,102,Voicemail(b${ARG1}) ; If busy, send to voicemail w/ bu\ sy announce exten => s,103,Goto(default,s,1) ; If they press #, return to start [demo] exten => s,1,Wait,1 ; Wait a second, just for fun exten => s,2,Answer ; Answer the line exten => s,3,DigitTimeout,5 ; Set Digit Timeout to 5 seconds exten => s,4,ResponseTimeout,10 ; Set Response Timeout to 10 seconds exten => s,5,BackGround(demo-congrats) ; Play a congratulatory message exten => s,6,BackGround(demo-instruct) ; Play some instructions exten => 2,1,BackGround(demo-moreinfo) ; Give some more information. exten => 2,2,Goto(s,6) exten => 3,1,SetLanguage(fr) ; Set language to french exten => 3,2,Goto(s,5) ; Start with the congratulations exten => 1000,1,Goto(default,s,1) exten => 1234,1,Playback(transfer,skip) ; "Please hold while..." ; (but skip if channel is not up) exten => 1234,2,Macro(stdexten,1234,${CONSOLE}) exten => 1235,1,Voicemail(u1234) ; Right to voicemail exten => 1236,1,Dial(Console/dsp) ; Ring forever exten => 1236,2,Voicemail(u1234) ; Unless busy exten => #,1,Playback(demo-thanks) ; "Thanks for trying the demo" exten => #,2,Hangup ; Hang them up. exten => t,1,Goto(#,1) ; If they take too long, give up exten => i,1,Playback(invalid) ; "That's not valid, try again" exten => 500,1,Playback(demo-abouttotry); Let them know what's going on exten => 500,2,Dial(IAX2/guest@misery.digium.com/s@default) ; Call the Asterisk\ demo exten => 500,3,Playback(demo-nogo) ; Couldn't connect to the demo site exten => 500,4,Goto(s,6) ; Return to the start over message. exten => 600,1,Playback(demo-echotest) ; Let them know what's going on exten => 600,2,Echo ; Do the echo test exten => 600,3,Playback(demo-echodone) ; Let them know it's over exten => 600,4,Goto(s,6) ; Start over exten => 8500,1,VoicemailMain exten => 8500,2,Goto(s,6) [default] include => demo -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20040209/41d3ae19/attachment.htm
Hi Bill, Your problem seems to be a codec negotiation issue, I think you need to specify for each SIP peer: disallow=all allow=alaw allow=ulaw ; and any others that you might need Paul> ----- Original Message ----- > From: Bill Michaelson > To: asterisk-users@lists.digium.com > Sent: Tuesday, February 10, 2004 9:26 AM > Subject: Re: [Asterisk-Users] asterisk-grandstream call > > > Arg.. my posting was mangled by text-wrapping. Sorry. > > Here again... > sip.conf: > > [general] > port = 5060 ; Port to bind to > bindaddr = 0.0.0.0 ; Address to bind to > context = default ; Default for incoming calls > [248379] > username=billdesk > type=friend > host=dynamic > canreinvite=no > mailbox=1234 > context=demo
Bill Michaelson <bill@cosi.com> wrote:>I am trying to muddle my way tthrough getting something - actually >anything to work - with Asterisk. I've acquired a Grandstream phone and >I've got * on a Red Hat 9 box. I've gotten to a point where I can see >(via ethereal) that the phone REGISTER's successfully with asterisk, and >then I try to dial into voicemail. This is what I observe in the packet >trace... > >GS: INVITE -> * >*: Status 100 (Trying) -> GS >*: Status 200 (OK with session description) -> GSDoes the GS then send an ACK? It should. If it doesn't then this probably means that it hasn't received the 200 response. (firewall issue?) If it is sending the ACK, then it is probably a codec issue, as has been already mentioned. GS doesn't always seem to do very well in codec selection. Doug -- Doug Meredith (doug.meredith@systemguard.com) SystemGuard - Oracle remote support 877-974-8273 (87-SYSGUARD) 506-854-7997 www.systemguard.com
>>I am trying to muddle my way tthrough getting something - actually >>anything to work - with Asterisk. I've acquired a Grandstream phone and >>I've got * on a Red Hat 9 box. I've gotten to a point where I can see >>(via ethereal) that the phone REGISTER's successfully with asterisk, and >>then I try to dial into voicemail. This is what I observe in the packet >>trace... >> >>GS: INVITE -> * >>*: Status 100 (Trying) -> GS >>*: Status 200 (OK with session description) -> GS > >Does the GS then send an ACK? It should. If it doesn't then this probably means that it hasn't received the 200 response. (firewall issue?) If it is sending the ACK, then it is probably a codec issue, as has been already mentioned. GS doesn't always seem to do very well in codec selection. Doug ------------------------- Thanks for that hint. I see what you mean. When configured for FWD, the GS does indeed send an ACK at an equivalent point in the protocol. But no, the GS does not send an ACK when configured for my * box. I suppose the * box is expecting it, because about one second later, the * box resends the 200 message - this in spite of the fact that has started spewing RTP furiously. Both devices are on the same LAN, with no intervening firewall, and the OK ought to be visible to the GS (the packet even contains the expected destination MAC ID, derived earlier via ARP). That makes two mysteries: 1) why doesn't the GS seem to see the OK? and 2) why does * send the RTP stream in spite of the fact that it has not received the ACK from the GS? Shouldn't it wait? Regarding codec selection, I see a minor difference between the FWD and the local * box test cases, but I know nothing about the negotiation protocol... With FWD, the OK message lists 3 Media Formats: Media Description, name and address (m): audio 10496 RTP/AVP 0 8 101 Media Type: audio Media Port: 10496 Media Proto: RTP/AVP Media Format: 0 Media Format: 8 Media Format: 101 Media Attribute (a): rtpmap:0 PCMU/8000 Media Attribute (a): rtpmap:8 PCMA/8000 Media Attribute (a): rtpmap:101 telephone-event/8000 Media Attribute (a): fmtp:101 0-16 But with the local box, it lists one other - note the addition of GSM... Media Description, name and address (m): audio 16708 RTP/AVP 3 0 8 101 Media Type: audio Media Port: 16708 Media Proto: RTP/AVP Media Format: 3 Media Format: 0 Media Format: 8 Media Format: 101 Media Attribute (a): rtpmap:3 GSM/8000 Media Attribute (a): rtpmap:0 PCMU/8000 Media Attribute (a): rtpmap:8 PCMA/8000 Media Attribute (a): rtpmap:101 telephone-event/8000 Media Attribute (a): fmtp:101 0-16 Don't see much else different in the packets. It might also be relevant that the FWD connection, which works successfully, is through a firewall with NAT. Still fishing... thanks for your attention - much appreciate not being alone here! -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20040210/58e417ec/attachment.htm