[Asterisk-Users] One-way talk paths (without INVITE?) and other issues
Moshe Yudkowsky
speech at pobox.com
Mon Jul 7 12:03:24 MST 2003
I'm experiencing one-way voice paths, followed by a hangup on one
softphoine and not the other. Also, caller ID has odd outputs -- and I
wonder if the problems are related.
My configuration has Asterisk and a Linphone softphone running on the
same box. I have a PC, and on that PC I use X-Lite or SJPhone to connect
to the Linphone instance.
When I call from the PC to Linphone:
* I call from the PC (user m12) to Linphone (usr m4), which rings
* I answer on Linphone
* Asterisk attempts to set up a talk path. Here's the output from
Asterisk, with Linphone (m4) connecting to the PC (m12):
> -- Called m4
> -- SIP/m4-8f2b is ringing
> -- Registered SIP 'm12' at 172.28.54.34 port 5060 expires 500
> -- SIP/m4-8f2b answered SIP/m12-195f
> -- Attempting native bridge of SIP/m12-195f and SIP/m4-8f2b
I don't know how the "registered" statement appreared in the middle.
At this point I can talk into the PC and hear it on Linphone -- but I
cannot speak into Linphone and hear myself on the PC. After about 10
seconds, possibly less:
* The PC phone gets a hangup message (BYE).
* Linphone does *not* get a hangup message and remains offhook. Any
attempt to call Linphone from the PC results in Asterisk routing the
call to voicemail. I must manually hang up Linphone.
Oddly enough, the caller ID displayed by Linphone, and apparently sent
by Asterisk, is incorrect. Instead of showing "m12" as the caller ID,
Linphone receives "m1" as the caller ID:
> INVITE sip:m4 at x1.x2.x3.x4:5062 SIP/2.0
> Via: SIP/2.0/UDP x1.x2.x3.x4:5060;branch=z9hG4bK0c4d7e4c
> From: "m1" <sip:asterisk at x1.x2.x3.x4>;tag=as62b91e33
> To: <sip:m4 at x1.x2.x3.x4:5062>;tag=4210403538
> Contact: <sip:asterisk at x1.x2.x3.x4>
> Call-ID: 478c64565bea701e0f3eb830731011a5 at x1.x2.x3.x4
> CSeq: 104 INVITE
> User-Agent: Asterisk PBX
> Content-Type: application/sdp
> Content-Length: 159
(x1.x2.x3.x4 substituted for the actual IP address.)
To my fairly untrained eye, this looks like a legitimate proxy message
but the caller ID is wrong. My SIP configuration file does contain both
m1 and m12 as legitimate callers:
> [m1]
> type=friend
> username=m1
> host=dynamic
> permit=x1.x2.x3.0/16
> [m12]
> type=friend
> username=m1
> host=dynamic
> permit=x1.x2.x3.0/16
I also note the following Asterisk warnings. I cannot tell if they
happen just before or just after I lose the one-way voice path:
> WARNING[81926]: File chan_sip.c, Line 415 (retrans_pkt): Maximum retries exceeded on call 478c64565bea701e0f3eb830731011a5 at 172.28.54.160 for seqno 103 (Request)
> WARNING[81926]: File chan_sip.c, Line 415 (retrans_pkt): Maximum retries exceeded on call 478c64565bea701e0f3eb830731011a5 at 172.28.54.160 for seqno 104 (Request)
Furthermore, I have yet to see a SIP channel disappear after a call is
over. They are always listed as active, even hours later. Here are is
the result of "show sip channels":
> Peer User/ANR Call ID Seq (Tx/Rx) Lag Jitter Format
> 172.28.54.160 m4 478c64565be 00104/00000 00000ms 0000ms 0
> 172.28.54.160 m4 4d330ced01e 00104/00001 00000ms 0000ms 0
> 172.28.54.160 m4 0bb7855f15b 00104/00001 00000ms 0000ms 0
> 172.28.54.160 m4 3db8538b4b4 00104/00001 00000ms 0000ms 0
> 4 active SIP channel(s)
but none of these calls are "active" in any sense of the term that I can
think of. I have tried to use the "sip show channel" command for further
testing, but apparently I don't understand the syntax of the command --
"sip show channel 478c64565be" and "sip show channel m4/478c64565be" and
"sip show channel SIP/m4-8f2b" all give the same error message, "no such
SIP call ID 'whatever'". Either I don't understand the "sip show
channels" command, or there's a bug.
My questions are:
* How is it that I get one-way voice paths? Is this a configuration
problem? Are the INVITES not getting through but the voice paths
established anyway?
* What's the problem with the incorrect caller IDs? I have *no* caller
ID settings that I'm aware of in my *.conf files. The PC's program
registers as "m12" but Asterisk sends "m1" as the name. PC-side
debugging shows that the PC sends "m12 at whatever" as its name.
Although this feels like a bug, I strongly suspect that I'm missing some
simple SIP configuration issue, but I haven't been able to track it down
just yet. And I'd like to clarify any other issues before starting on a
bug hunt.
--
Moshe Yudkowsky * http://www.Disaggregate.com
More information about the asterisk-users
mailing list