Results 1 to 6 of 6

Thread: Cross VLAN authorization after v3.6.3 patch2 [Silverlight Multicast]

  1. #1
    Join Date
    Nov 2013
    Posts
    8

    Lightbulb Cross VLAN authorization after v3.6.3 patch2 [Silverlight Multicast]

    I have an application "liveorigin" which I've configured to use Push Publishing (3.5 build7943), running on the latest version of Wowza Media Server 3.6.4 build9641. I have the MulticastPlayerSilverlight player (build 8693) setup on my webserver.

    player.html
    <param name="initparams" value="sourceAddress=10.0.0.112,streamAddress=239.192.96.32:10000,isFullscreenEnabled=true,bufferTime=3,letterboxColor=White" />
    PushPublishMap.txt
    livestream_160p={profile:"mpegts", streamName:"livestream_160p", host:"239.192.96.32", port:10000, timeToLive:63, rtpWrap:false}
    Application.xml
    <Root>
    	<Application>
    		<Connections>
    			<AutoAccept>true</AutoAccept>
    			<AllowDomains></AllowDomains>
    		</Connections>
    		<Streams>
    			<StreamType>liverepeater-origin</StreamType>
    			<StorageDir>${com.wowza.wms.context.VHostConfigHome}/content</StorageDir>
    			<KeyDir>${com.wowza.wms.context.VHostConfigHome}/keys</KeyDir>
    			<LiveStreamPacketizers><!--cupertinostreamingpacketizer,smoothstreamingpacketizer,sanjosestreamingpacketizer--></LiveStreamPacketizers>
    			<Properties>
    			</Properties>
    		</Streams>
    		<Transcoder>
    			<LiveStreamTranscoder>transcoder</LiveStreamTranscoder>
    			<Templates>${SourceStreamName}.xml,transcode.xml</Templates>
    			<ProfileDir>${com.wowza.wms.context.VHostConfigHome}/transcoder/profiles</ProfileDir>
    			<TemplateDir>${com.wowza.wms.context.VHostConfigHome}/transcoder/templates</TemplateDir>
    			<Properties>
    			</Properties>
    		</Transcoder>
    
    		<DVR>
    			<Recorders></Recorders>
    			<Store></Store>
    			<WindowDuration>0</WindowDuration>
    			<StorageDir>${com.wowza.wms.context.VHostConfigHome}/dvr</StorageDir>
    			<ArchiveStrategy>append</ArchiveStrategy>
    			<Repeater>
    				<ChunkOriginURL></ChunkOriginURL>
    			</Repeater>
    			<Properties>
    			</Properties>
    		</DVR>
    
    		<TimedText>
    			<VODTimedTextProviders>vodcaptionprovidermp4_3gpp</VODTimedTextProviders>
    			<Properties>
    			</Properties>		
    		</TimedText>
    		<HTTPStreamers>cupertinostreaming,smoothstreaming,sanjosestreaming</HTTPStreamers>			
    		<SharedObjects>
    			<StorageDir></StorageDir>
    		</SharedObjects>
    		<Client>
    			<IdleFrequency>-1</IdleFrequency>
    			<Access>
    				<StreamReadAccess>*</StreamReadAccess>
    				<StreamWriteAccess>*</StreamWriteAccess>
    				<StreamAudioSampleAccess></StreamAudioSampleAccess>
    				<StreamVideoSampleAccess></StreamVideoSampleAccess>
    				<SharedObjectReadAccess>*</SharedObjectReadAccess>
    				<SharedObjectWriteAccess>*</SharedObjectWriteAccess>
    			</Access>
    		</Client>
    		<RTP>
    			<Authentication>
    				<PublishMethod>digest</PublishMethod>
    				<PlayMethod>none</PlayMethod>
    			</Authentication>
    			<AVSyncMethod>systemclock</AVSyncMethod>
    			<MaxRTCPWaitTime>12000</MaxRTCPWaitTime>
    			<IdleFrequency>75</IdleFrequency>
    			<RTSPSessionTimeout>90000</RTSPSessionTimeout>
    			<RTSPMaximumPendingWriteBytes>0</RTSPMaximumPendingWriteBytes>
    			<RTSPBindIpAddress></RTSPBindIpAddress>
    			<RTSPConnectionIpAddress>10.0.0.112</RTSPConnectionIpAddress>
    			<RTSPOriginIpAddress>10.0.0.112</RTSPOriginIpAddress>
    			<IncomingDatagramPortRanges>*</IncomingDatagramPortRanges>
    			<Properties>
    			</Properties>
    		</RTP>
    		<MediaCaster>
    			<RTP>
    				<RTSP>
    					<RTPTransportMode>interleave</RTPTransportMode>
    				</RTSP>
    			</RTP>
    			<Properties>
    			</Properties>
    		</MediaCaster>
    		<MediaReader>
    			<Properties>
    			</Properties>
    		</MediaReader>
    		<MediaWriter>
    			<Properties>
    			</Properties>
    		</MediaWriter>
    		<LiveStreamPacketizer>
    			<Properties>
    			</Properties>
    		</LiveStreamPacketizer>
    		<HTTPStreamer>
    			<Properties>
    			</Properties>
    		</HTTPStreamer>
    		<Repeater>
    			<OriginURL></OriginURL>
    			<QueryString><![CDATA[]]></QueryString>
    		</Repeater> 
    		<Modules>
    			<Module>
    				<Name>base</Name>
    				<Description>Base</Description>
    				<Class>com.wowza.wms.module.ModuleCore</Class>
    			</Module>
    			<Module>
    				<Name>properties</Name>
    				<Description>Properties</Description>
    				<Class>com.wowza.wms.module.ModuleProperties</Class>
    			</Module>
    			<Module>
    				<Name>logging</Name>
    				<Description>Client Logging</Description>
    				<Class>com.wowza.wms.module.ModuleClientLogging</Class>
    			</Module>
    			<Module>
    				<Name>flvplayback</Name>
    				<Description>FLVPlayback</Description>
    				<Class>com.wowza.wms.module.ModuleFLVPlayback</Class>
    			</Module>
    			<Module>
    				<Name>ModuleRTMPAuthenticate</Name>
    				<Description>ModuleRTMPAuthenticate</Description>
    				<Class>com.wowza.wms.security.ModuleRTMPAuthenticate</Class>
    			</Module>
    			<Module>
    				<Name>ModuleBlockDuplicateStreamNames</Name>
    				<Description>ModuleBlockDuplicateStreamNames</Description>
    				<Class>com.wowza.wms.plugin.collection.module.ModuleBlockDuplicateStreamNames</Class>
    			</Module>
    			<Module>
    				<Name>ModuleLimitPublishedStreamBandwidth</Name>
    				<Description>Module Limit to Published Stream Bandwidth</Description>
    				<Class>com.wowza.wms.plugin.collection.module.ModuleLimitPublishedStreamBandwidth</Class>
    			</Module>
    			<Module>
    				<Name>ModulePushPublish</Name>
    				<Description>Wowza PushPublishing Module</Description>
    				<Class>com.wowza.wms.plugin.pushpublish.module.ModulePushPublish</Class>
    			</Module>
    		</Modules>
    		<Properties>
    			<Property>
    				<Name>pushPublishProfilePath</Name>
    				<Value>${com.wowza.wms.context.VHostConfigHome}/conf/PushPublishProfiles.xml</Value>
    			</Property>
    			<Property>
    				<Name>pushPublishMapPath</Name>
    				<Value>${com.wowza.wms.context.VHostConfigHome}/conf/${com.wowza.wms.context.Application}/PushPublishMap.txt</Value>
    			</Property>
    			<Property>
    				<Name>pushPublishSDPStorageDir</Name>
    				<Value>${com.wowza.wms.context.VHostConfigHome}/applications/${com.wowza.wms.context.Application}/sdp</Value>
    			</Property>
    			<Property>
    				<Name>rtmpEncoderAuthenticateFile</Name>
    				<Value>${com.wowza.wms.context.VHostConfigHome}/conf/${com.wowza.wms.context.Application}/publish.password</Value>
    			</Property>
    			<Property>
    				<Name>MaxBitrate</Name><!--For StreamMonitorLogging-->
    				<Value>10000</Value>
    				<Type>Integer</Type>
    			</Property>
    			<Property>
    				<Name>StreamMonitorLogging</Name>
    				<Value>false</Value>
    				<Type>Boolean</Type>
    			</Property>
    			<Property>
    				<Name>secureTokenSharedSecret</Name>
    				<Value>not-the-real-one</Value>
    			</Property>
    		</Properties>
    	</Application>
    </Root>


    Server.xml
    			
    <Root>
    	<Server>
    		<CommandInterface>
    			<HostPort>
    				<IpAddress>10.0.0.112</IpAddress>
    				<Port>8083</Port>
    			</HostPort>
    		</CommandInterface>
    		<AdminInterface>
    			<ObjectList>Server,VHost,VHostItem,Application,ApplicationInstance,MediaCaster,Module,IdleWorker</ObjectList>
    		</AdminInterface>
    		<JMXRemoteConfiguration>
    			<Enable>true</Enable>
    			<IpAddress>10.0.0.112</IpAddress>
    			<RMIServerHostName>theServerHostName</RMIServerHostName>
    			<RMIConnectionPort>8084</RMIConnectionPort>
    			<RMIRegistryPort>8085</RMIRegistryPort>
    			<Authenticate>true</Authenticate>
    			<PasswordFile>${com.wowza.wms.ConfigHome}/conf/jmxremote.password</PasswordFile>
    			<AccessFile>${com.wowza.wms.ConfigHome}/conf/jmxremote.access</AccessFile>
    			<SSLSecure>true</SSLSecure>
    		</JMXRemoteConfiguration>
    		<UserAgents>Shockwave Flash|CFNetwork|MacNetwork/1.0 (Macintosh)</UserAgents>
    		<ServerListeners>
    			<ServerListener>
    				<BaseClass>com.wowza.wms.httpstreamer.smoothstreaming.multicast.ServerListenerSilverlightMulticastAuthorizer</BaseClass>
    			</ServerListener>
    		</ServerListeners>
    		<VHostListeners>
    
    		</VHostListeners> 
    		<HandlerThreadPool>
    			<PoolSize>10</PoolSize>
    		</HandlerThreadPool>
    		<TransportThreadPool>
    			<PoolSize>10</PoolSize>
    		</TransportThreadPool>
    		<RTP>
    			<DatagramStartingPort>6970</DatagramStartingPort>
    			<DatagramPortSharing>false</DatagramPortSharing>
    		</RTP>
    		<Properties>
    			<Property>
    				<Name>licenseServerProxyAddress</Name>
    				<Value>ourCorpProxy</Value>
    			</Property>
    			<Property>
    				<Name>licenseServerProxyPort</Name>
    				<Value>thePortNumber</Value>
    				<Type>Integer</Type>
    			</Property>
    			<Property>
    				<Name>silverlightMulticastAuthorizerList</Name>
    				<Value>10.0.0.112</Value>
    			</Property>
    		</Properties>
    	</Server>
    </Root>
    main question: What am I doing wrong here?

    - Silverlight player states "Waiting for stream: 239.192.96.32:10000"
    - I can get a multicast feed to playback on the same VLAN from Wowza to the Silverlight player, but not across VLAN's as the new documentation suggests.
    - Multicast is enabled on the routers, I can setup Windows Media Services on the same server and run a multicast broadcast with no issues.
    - I am seeing a UDP packet being sent by the client over port 9430, and received by the server. A response also gets sent back to the client.
    - I see a "IGMP:IGMPv2 Membership Report" sent to 239.192.96.32, but no response back
    - Wowza server just logs: {SmoothStreamingMulticastAuthorizer: messageId:44133101, applicationOriginUri:"https://webserver/playerContent/live/client/MediaStreamSrc.xap", groupAddress:239.192.96.32, port:10000}

  2. #2
    Join Date
    Nov 2013
    Posts
    8

    Default

    It seems I may have answered my own question, now I'm just looking for confirmation from Wowza support:

    After adding:
    			<RTSPBindIpAddress>10.0.0.112</RTSPBindIpAddress>
    			<RTSPConnectionIpAddress>10.0.0.112</RTSPConnectionIpAddress>
    			<RTSPOriginIpAddress>10.0.0.112</RTSPOriginIpAddress>
    to Application.xml

    It appears to be working correctly.

  3. #3

    Default

    Hi,

    Does your Wowza server have multiple network adaptors? It may be possible that Wowza was initially setting up the multicast connection to the player on the wrong adaptor.

    When you set the RTSPBindAddress, it could have affected the adaptor that was used.

    There are some better settings in VHost.xml to use in this case. (they are commented out by default)

    <RTP>
    	. . . 
    	<DatagramConfiguration>
    		. . . 
    		<Outgoing>
    			. . . 
    			<MulticastBindToAddress>true</MulticastBindToAddress>
    			<MulticastInterfaceAddress>10.0.0.112</MulticastInterfaceAddress>
    			. . . 
    		</Outgoing>
    	</DatagramConfiguration>
    	. . . 
    </RTP>
    Using these settings will ensure the multicast goes out on the right adaptor while still allowing your regular rtsp connections to work properly.

    If you can confirm that this is the case and if so, we can have the PushPublish documentation updated.

    Roger.

  4. #4
    Join Date
    Nov 2013
    Posts
    8

    Default

    It does have two network adapters which I think caused the problem to begin with.

    What settings should I try for the Application.xml level RTP settings once I set the Outgoing RTP settings in VHost.xml?
    Currently I have:
    			<RTSPBindIpAddress>10.0.0.112</RTSPBindIpAddress>
    			<RTSPConnectionIpAddress>10.0.0.112</RTSPConnectionIpAddress>
    			<RTSPOriginIpAddress>10.0.0.112</RTSPOriginIpAddress>

  5. #5

    Default

    I think you will find this guide helpful in setting up this configuration:
    How to set up an application for RTSP/RTP streaming

    Salvadore

  6. #6

    Default

    Hi,

    The RTSPBindAddress is used to set what ports Wowza will use to listen for incoming connections and rtcp responses. If you don't set anything here, it will listen on all interfaces. If all of your connections are coming in on the same interface, then it would be advisable to set it as you have so that there are no issues.

    Roger.

Similar Threads

  1. Push | Multicast | Silverlight | Mac issue
    By iKinnrot in forum AddOn: Other AddOns
    Replies: 4
    Last Post: 10-16-2013, 09:10 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •