Skip to content

Latest commit

 

History

History
114 lines (66 loc) · 4.21 KB

natupnp_v1.md

File metadata and controls

114 lines (66 loc) · 4.21 KB

Module natupnp_v1

Client for UPnP Device Control Protocol Internet Gateway Device v1.

Description

documented in detail at: http://upnp.org/specs/gw/UPnP-gw-InternetGatewayDevice-v1-Device.pdf

Function Index

add_port_mapping/4Add a port mapping with default lifetime to 0 seconds.
add_port_mapping/5Add a port mapping and release after Timeout.
delete_port_mapping/4Delete a port mapping from the router.
discover/0discover the gateway and our IP to associate.
get_device_address/1
get_external_address/1
get_internal_address/1
get_port_mapping/3get specific port mapping for a well known port and protocol.
get_wan_device/2
status_info/1get router status.

Function Details

add_port_mapping/4


add_port_mapping(Context::nat:nat_upnp(), Protocol::nat:nat_protocol(), InternalPort::integer(), ExternalPort::integer()) -> {ok, non_neg_integer(), non_neg_integer(), non_neg_integer(), non_neg_integer()} | {error, any()}

Add a port mapping with default lifetime to 0 seconds

add_port_mapping/5


add_port_mapping(Ctx::nat:nat_upnp(), Protocol0::nat:nat_protocol(), InternalPort::integer(), ExternalPort::integer(), Lifetime::integer()) -> {ok, non_neg_integer(), non_neg_integer(), non_neg_integer(), non_neg_integer()} | {error, any()}

Add a port mapping and release after Timeout

delete_port_mapping/4


delete_port_mapping(Context::nat:nat_upnp(), Protocol::nat:nat_protocol(), InternalPort::integer(), ExternalPort::integer()) -> ok | {error, term()}

Delete a port mapping from the router

discover/0


discover() -> {ok, Context::nat:nat_upnp()} | {error, term()}

discover the gateway and our IP to associate

get_device_address/1

get_device_address(Nat_upnp) -> any()

get_external_address/1

get_external_address(Nat_upnp) -> any()

get_internal_address/1

get_internal_address(Nat_upnp) -> any()

get_port_mapping/3


get_port_mapping(Context::nat:nat_upnp(), Protocol::nat:nat_protocol(), ExternalPort::integer()) -> {ok, InternalPort::integer(), InternalAddress::string()} | {error, any()}

get specific port mapping for a well known port and protocol

get_wan_device/2

get_wan_device(D, RootUrl) -> any()

status_info/1


status_info(Context::nat:nat_upnp()) -> {Status::string(), LastConnectionError::string(), Uptime::string()} | {error, term()}

get router status