All of lore.kernel.org
 help / color / mirror / Atom feed
From: Maksim Yevmenkin <Maksim.Yevmenkin@cw.com>
To: Max Krasnyansky <maxk@qualcomm.com>
Cc: Alexandros Karypidis <karypid@inf.uth.gr>,
	Marcel Holtmann <marcel@rvs.uni-bielefeld.de>,
	bluez-devel@lists.sourceforge.net
Subject: Re: [Bluez-devel] How do I obtain a free PSM  automatically?
Date: Tue, 11 Feb 2003 12:01:42 -0800	[thread overview]
Message-ID: <3E4956A6.3CC2A841@cw.com> (raw)
In-Reply-To: 5.1.0.14.2.20030211103102.0438d370@mail1.qualcomm.com

Max Krasnyansky wrote:
> 
> At 10:04 AM 2/11/2003 -0800, Maksim Yevmenkin wrote:
> >> Basically, my problem is that when you have a device where you can
> >> install/remove services created from various manufacturers, there must exist
> >> a global agreement about PSM allocations. For example, suppose I install 2
> >> services which are manufactured from entities A and B. Now, A decides that it
> >> will receive connections on PSM 15000 and B chooses 16004. No problem. If by
> >> pure bad luck they had chosen the same PSM, I would be unable to run both
> >> concurrently. Ideally, each would obtain an arbitrary PSM when it was
> >> launched and publish its contact address via some other mechanism.
> >
> >life sucks, isn't it? :) http://www.iana.org/ is in control of "well known"
> >IP ports, but nothing prevents you from running HTTP server on port 23
> >and telnet on port 80. i presume http://www.bluetooth.org/ or something
> >like this will assign PSM to different manufacturers. but again there is
> >no way you can control decisions made by the particular manufacturer.
> >everybody should play nice :)
> >
> >i agree you have control over the IP ports (most of the time). but nobody
> >will run public web server on any port other then 80 (or 443). you can not
> >run two *different* web servers bound to the same IP and port (IP aliases
> >and virtual servers do not count :)
> 
> You can really tell if person has "ALL IP" mentality :).
> I'm that kind of person myself.

i was trying to explain it in "IP terms" since orignal post
was about comparing IP and Bluetooth :)  i'm trying to keep
my mind open :)
 
> btw Originally PSM was supposed to be assigned by Bluetooth SIG. ie. Just like
> well known IP port. And then some "clever" people came up with the idea of dynamic
> PSMs (probably the same people decided that PSM field needs 'an extension
> bit' and made half of the PSMs space invalid). Unfortunately those "clever"
> people didn't realize that [:[dynamic CID] is stupid.

well there is nothing *really* wrong with extenstion. i think
it is just a safeguard. however i think this is way to optimistic.
i just can't imagine that Bluetooth can ever use up all 65536
or even 32768) PSMs. IP has lived with 65536 ports since the
day one. i missed "dynamic PSM" stuff. was it somewhere is spec?

> When you add [dynamic DLCI] op top for RFCOMM sessions it becomes ridiculous :).
> And I'm not even sure what to call it when you add [dynamic OBEX channel] ;-)

whoa! i missed them too :) what exactly dynamic DLCI and 
dynamic OBEX channel mean? does it mean that user select
channel (DLCI) and give to server app? or does it mean
that server app itself somehow figures out available DCLI
and get it? 

and what the hell is dynamic OBEX channel? OBEX works
over RFCOMM so it needs RFCOMM channel (DLCI), right?

> Anyhow, we may have to provide dynamic PSM and DLCI service just because it may
> become a common thing on other platforms and stacks.

examples please :) what platforms/stacks do support these
features? how they use it? 

thanks,
max

  reply	other threads:[~2003-02-11 20:01 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <200302071951.35073.karypid@inf.uth.gr>
     [not found] ` <1044653120.32671.4.camel@pegasus.local>
2003-02-08 11:42   ` [Bluez-users] How do I obtain a free PSM automatically? Stephen Crane
     [not found] ` <200302072329.21333.karypid@inf.uth.gr>
     [not found]   ` <1044653775.32672.14.camel@pegasus.local>
2003-02-08 15:40     ` Alexandros Karypidis
2003-02-08 16:14       ` [Bluez-devel] " Alexandros Karypidis
2003-02-10 21:13         ` Max Krasnyansky
2003-02-11 12:01           ` Marcel Holtmann
2003-02-11 17:26             ` Alexandros Karypidis
2003-02-11 17:52               ` Maksim Yevmenkin
2003-02-11 18:58               ` Max Krasnyansky
2003-02-11 18:06             ` Max Krasnyansky
2003-02-17 14:12               ` Marcel Holtmann
2003-02-18 21:06                 ` Max Krasnyansky
2003-02-18 23:00                   ` Marcel Holtmann
2003-02-19 20:04                     ` Max Krasnyansky
2003-02-11 16:30           ` Alexandros Karypidis
2003-02-10 20:49       ` Max Krasnyansky
2003-02-11 16:22         ` Alexandros Karypidis
2003-02-11 18:04           ` [Bluez-devel] " Maksim Yevmenkin
2003-02-11 18:52             ` Max Krasnyansky
2003-02-11 20:01               ` Maksim Yevmenkin [this message]
2003-02-11 21:09                 ` Max Krasnyansky
2003-02-11 18:23           ` [Bluez-devel] Re: [Bluez-users] " Max Krasnyansky

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3E4956A6.3CC2A841@cw.com \
    --to=maksim.yevmenkin@cw.com \
    --cc=bluez-devel@lists.sourceforge.net \
    --cc=karypid@inf.uth.gr \
    --cc=marcel@rvs.uni-bielefeld.de \
    --cc=maxk@qualcomm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.