So, with this network type, no DR is elected. Hello packets are still multicast (224.0.0.5).
The configuration is quite simple on Hub and Spoke, configure the interface type as point-to-multipoint.
On r1:
!
interface Serial0/0
ip address 150.0.0.1 255.255.255.0
encapsulation frame-relay
ip ospf network point-to-multipoint
frame-relay map ip 150.0.0.2 102 broadcast
frame-relay map ip 150.0.0.3 103 broadcast
frame-relay map ip 150.0.0.4 104 broadcast
no frame-relay inverse-arp
!
router ospf 1
router-id 150.1.1.1
log-adjacency-changes
passive-interface Loopback0
network 150.0.0.1 0.0.0.0 area 0
network 150.1.1.1 0.0.0.0 area 0
network 150.10.0.11 0.0.0.0 area 0
!
r1#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
55.0.0.5 0 FULL/ - 00:00:37 150.10.0.15 FastEthernet0/0
150.4.4.4 0 FULL/ - 00:01:33 150.0.0.4 Serial0/0
150.2.2.2 0 FULL/ - 00:01:53 150.0.0.2 Serial0/0
150.3.3.3 0 FULL/ - 00:01:33 150.0.0.3 Serial0/0
r5#
On the spokes:
r2:
!
interface Serial0/0
ip address 150.0.0.2 255.255.255.0
encapsulation frame-relay
ip ospf network point-to-multipoint
frame-relay map ip 150.0.0.1 201 broadcast
frame-relay map ip 150.0.0.3 201
frame-relay map ip 150.0.0.4 201
no frame-relay inverse-arp
!
router ospf 1
router-id 150.2.2.2
log-adjacency-changes
passive-interface Loopback0
network 150.0.0.2 0.0.0.0 area 0
network 150.2.2.2 0.0.0.0 area 0
!
r2#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
150.1.1.1 0 FULL/ - 00:01:43 150.0.0.1 Serial0/0
r2#
As these adjacencies are seen as point-to-point between the Hub and a given Spoke, the NEXT-HOP is modified by the Hub:
r2#show ip route ospf
55.0.0.0/32 is subnetted, 1 subnets
O 55.0.0.5 [110/66] via 150.0.0.1, 01:03:56, Serial0/0
150.0.0.0/16 is variably subnetted, 4 subnets, 2 masks
O 150.0.0.4/32 [110/128] via 150.0.0.1, 01:03:46, Serial0/0
O 150.0.0.3/32 [110/128] via 150.0.0.1, 01:03:56, Serial0/0
O 150.0.0.1/32 [110/64] via 150.0.0.1, 01:03:56, Serial0/0
150.1.0.0/32 is subnetted, 1 subnets
O 150.1.1.1 [110/65] via 150.0.0.1, 01:03:56, Serial0/0
150.3.0.0/32 is subnetted, 1 subnets
O 150.3.3.3 [110/129] via 150.0.0.1, 01:03:56, Serial0/0
150.4.0.0/32 is subnetted, 1 subnets
O 150.4.4.4 [110/129] via 150.0.0.1, 01:03:46, Serial0/0
150.10.0.0/24 is subnetted, 1 subnets
O 150.10.0.0 [110/65] via 150.0.0.1, 01:03:56, Serial0/0
r2#
As a result, there can be a single mapping on the spokes, indicating the dlci towards the Hub. This is usefull if dynamic mapping is used because dynamic mapping can't give the mapping for a spoke to reach another spoke. With this network type, this is not a problem.
We can see in the OSPF database that the link between the spokes and the hub is seen as a point-to-point link:
r2#show ip ospf database router 150.3.3.3
OSPF Router with ID (150.2.2.2) (Process ID 1)
Router Link States (Area 0)
LS age: 84
Options: (No TOS-capability, DC)
LS Type: Router Links
Link State ID: 150.3.3.3
Advertising Router: 150.3.3.3
LS Seq Number: 8000000E
Checksum: 0xF525
Length: 60
Number of Links: 3
Link connected to: a Stub Network
(Link ID) Network/subnet number: 150.3.3.3
(Link Data) Network Mask: 255.255.255.255
Number of TOS metrics: 0
TOS 0 Metrics: 1
Link connected to: another Router (point-to-point)
(Link ID) Neighboring Router ID: 150.1.1.1
(Link Data) Router Interface address: 150.0.0.3
Number of TOS metrics: 0
TOS 0 Metrics: 64
Link connected to: a Stub Network
(Link ID) Network/subnet number: 150.0.0.3
(Link Data) Network Mask: 255.255.255.255
Number of TOS metrics: 0
TOS 0 Metrics: 0
Using ospf network POINT_TO_MULTIPOINT type in Hub & Spoke topology does not requires that a mapping exists on each spokes to reach other spoke. The mapping to the Hub is mandatory because it will be NEXT-HOP for each route.