[mythtv] MythPhone experiments and "features"

Steve Davies steve at one47.co.uk
Wed Jan 26 15:31:27 EST 2005


Okay, I think I can shed more light on what is happening, and I think I 
have workarounds for all except one item. I hope the following makes 
some sense.

Steve Davies wrote:
> 
> Paul Volkaerts wrote:
> 
>>> * If SIP proxy registration fails, it is impossible to "ESC" out of
>>> MythPhone.
>>
[snip]

(This is the one I have no explanation or workaround for)

This is not just caused by SIP proxy registration failure, and does not 
always happen. It seems that if any SIP request fails or is refused by 
the proxy, there is a chance that the UI will start to ignore "ESC"... I 
did notice that while in this state, that the ESC key starts to be 
usable to hangup calls, much like "O".

I cannot reliably case this. Whenever I think I've pinned down what 
exactly happened, the problem "times out" and goes back to normal... Let 
me know if there is some debugging I can add to try and trap this.

It is _possible_ that it is down to the SUBSCRIBE configuration having 
been absent as mentioned below...

>>> * I was unable to use asterisk's "host=dynamic" facility with MythPhone.
>>> Not sure why, but hard-coding the IP address works okay.
>>

This was fixed by enabling the SUBSCRIBE feature of Asterisk. by 
creating a "subscribecontext" for the mythphone SIP user.

AFAICT "normal" SIP proxy negotiation is done using the SIP "REGISTER" 
verb, but the MythPhone only seems able to use "SUBSCRIBE". The 
SUBSCRIBE feature only works when explicitly configured as it is a 
potential security risk (Strangers could monitor extension information 
and numbers)

If possible the best fix here would be that if "SUBSCRIBE" is refused 
with a 4xx code, then try to "REGISTER" instead - It will not show 
extension statuses, but will establish a connection to the server. As 
soon as I fixed this, lots of things started to work much better :)

NOTE: Even though the SUBSCRIBE was failing, the UI was displaying "No 
active calls", rather than leaving the "Not Registered" message in 
place. Perhaps "Not Registered" should take precedence?

>>> * Some of the calls I made were perfect. Mostly outbound calls from Myth
>>> worked very well. Sometimes there was no sound received from the remote
>>> end, even though asterisk reported sending it. For inbound calls to Myth
>>> I never seemed to get any inbound data (I didn't have time to do a net.
>>> trace, so not sure here)
>>
>>
>> With latest CVS, you can hit "i" and get mid-call stats like packet 
>> counters
>> that are useful for debugging this kind of thing. Usually this is a NAT
>> issue but if you are only on your LAN I guess this is doubtful.
> 
I pinned this one down too. It is cause by re"INVITE"s - Setting 
"canreinvite=no" in the asterisk configuration for the Mythphone fixes 
this problem by turing off this (possibly useful) feature.

re-Inviting allows the proxy to send INVITES to phones whenever it sees 
fit to redirect the RTP stream. This (for example) allows 2 phones 
speaking the same codec to be told to direct packets straight to 
eachother rather than via the proxy. If (say) the call is transferred or 
put on hold, another INVITE is sent to redirect the RTP stream once more.

MythPhone does not support this (It is not alone)

>>> * Hangup without exiting MythPhone.
>>
>> With CVS version you can hit "O" (STOP key)

Yes, this is working. Does it mute the speakers though? I seem to get 
some background noise left behind.

IN SUMMARY:
===========

1) enable the SIP "subscribecontext" for mythphone in asterisk
2) set "canreinvite=no" for mythphone in asterisk

I bet all my other problems are gone now too ;-)

Thanks
Steve

-- 
Steve Davies                   steve at one47.co.uk

PGP Fingerprints:
DH/DSS : 5D85 8164 91D7 E9CC 4F80  842B AB86 93D9 8938 7612
RSA    :      4E2E E60F 3D76 9E7E  70F9 901B 70FA 56C8
RSA4096: 02BE 5C0E EFA2 E1E4 EA89  C9CC 1E4F F654 3BC7 B65E


More information about the mythtv-dev mailing list